STM32-嵌入式学习笔记03-EXTI中断的分析及应用

简介: STM32-嵌入式学习笔记03-EXTI中断的分析及应用
+关注继续查看

 EXTI中断/事件控制器,管理了控制器的20根中断/事件线。每个对应了一个边沿检测器,可以实现输入信号的上升沿或者下降沿检测,EXTI可以实现对每个中断或者事件的单独配置

   这里中断通常是指GPIO的中断   事件可以是AD/DA转换  TIM定时器等···

通过书上的EXTI 功能框图可以清楚的知道配置EXTI中断的具体过程

image.png

这里拿EXTI控制GPIO为例:

编程要领:

1)初始化用来产生中断的GPIO

2)初始化EXTI

3)配置NVIC

4)编写中断函数

这里只贴出配置EXTI和中断函数的编写:

void EXTI_Key_config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    EXTI_InitTypeDef EXTI_InitStructure;
 
    //配置中断优先级
    EXTI_NVIC_Config();
     
    //开启KEY相关GPIO的外设时钟
    RCC_APB2PeriphClockCmd( KEY1_GPIO_CLK, ENABLE);
    //选择控制的引脚
    GPIO_InitStructure.GPIO_Pin = KEY1_GPIO_PIN;    
    //选择输出方式为浮空输出
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   
    //设置引脚速率为50MHZ
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    //调用库函数,初始化GPIO
    GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStructure); 
    
    //初始化EXTI
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);
    
    RCC_APB2PeriphClockCmd( KEY1_GPIO_CLK, ENABLE);
    //配置EXTI的中断线
    EXTI_InitStructure.EXTI_Line = EXTI_Line0;
    //配置EXTI模式
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    //配置触发类型
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    
    EXTI_Init(&EXTI_InitStructure); 
    
}
void EXTI0_IRQHandler(void)
{
    if(EXTI_GetITStatus(EXTI_Line0) != RESET )
    {
        LED_TOGGLE;
    }
        EXTI_ClearITPendingBit(EXTI_Line0);
        //清除中断
}
目录
相关文章
|
3月前
STM32中断与事件的理解
STM32中断与事件的理解
46 0
|
4月前
STM32外中断
STM32外中断
34 0
|
4月前
|
数据格式
【STM32】串口通讯USART串口中断配置
【STM32】串口通讯USART串口中断配置
123 0
|
4月前
【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制
【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制
111 0
|
4月前
【STM32】高级定时器TIM1计数中断配置
【STM32】高级定时器TIM1计数中断配置
237 0
|
8月前
STM32的HAL库开发系列 - TIM定时器中断
STM32的HAL库开发系列 - TIM定时器中断
181 0
|
8月前
|
存储
STM32的HAL库开发系列 - ADC中断
STM32的HAL库开发系列 - ADC中断
175 0
|
8月前
|
编译器
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI
STM32的HAL库开发系列 - GPIO中断/外部中断EXTI
369 0
|
10月前
|
传感器
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
157 0
STM32小项目总结2:(内含:1.对射式红外传感器计次+2.旋转编码器计次+3.定时器定时中断+4.定时器外部中断+5.笔记)
|
10月前
STM32:定时器定时中断
STM32:定时器定时中断
93 0
STM32:定时器定时中断
推荐文章
更多