zoukankan      html  css  js  c++  java
  • STM32外部中断配置步骤

    配置外部中断示例

    1 初始化IO为输入模式
    参考
    参考
    2 开启IO复用时钟

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
    

    3 映射IO到中断线

    GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource4);映射PE4到中断线
    

    4 初始化线上中断,设置触发方式

    EXTI_InitTypeDef EXTI_InitStructure;
    EXTI_InitStructure.EXTI_Line=EXTI_Line4; //
    EXTI_InitStructure.EXTI_LineCmd=ENABLE;
    EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
    EXTI_Init(&EXTI_InitStructure);
    

    5 配置中断分组NVIC,使能中断
    //记得在主函数里设置中断分组NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel=EXTI4_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;

    NVIC_Init();
    

    编写外部中断函数EXTI_IRQHandler()

    可能要进行必要的防抖处理

    最后要手动清除相关寄存器的中断标志位,否者下次不会进入中断服务函数

    EXTI_ClearITPendingBit(EXTI__Line4);
    

    【参考】

  • 相关阅读:
    第七周总结
    第六周编程总结
    第五周编程总结
    选择加冒泡排序法与找鞍马之总结与感受
    上三角矩阵与数组中元素之和最大
    文件的读写
    打印沙漏
    第八周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/uestcman/p/9043838.html
Copyright © 2011-2022 走看看