STM32中断流程如下:

根据流程编写外部中断配置
①初始化IO口为输入
GPIOE_CRL &= ~(0XF << 16);
GPIOE_CRL |= 0x8 << 16;// 设置PE4 上下拉输入模式 2MHZ
GPIOE->ODR|=1<<4; //PE4 上拉
②开启IO口复用时钟
RCC->APB2ENR |= 1<<6; // 使能APB2总线时钟
RCC->APB2ENR|=0x01;//使能io复用时钟
③设置IO口与中断线的映射关系
AFIO->EXTICR[1] &= 0xfff0;
AFIO->EXTICR[1] |= 0xfff4; // PE4 配置为外部中断4
④初始化线上中断,设置触发条件等
EXTI->IMR |= 1<<4; // 放开来自线4上的中断
EXTI->FTSR |= 1<<4; // 允许线4的下降沿触发中断
⑤配置中断分组(NVIC),并使能中断
temp = SCB->AIRCR; // 读取先前的值
temp &= 0X0000F8FF; // 清空高位,并给BIT[10:8] 置0
temp |= (0X05FA<<16 | (7 - group) << 8); // 设置秘钥并设置优先级分组
SCB->AIRCR = temp;
NVIC->ISER[interrupt_channel/32] |= (1<<(interrupt_chan

本文详细介绍了STM32的外部中断配置步骤,包括IO口初始化、时钟开启、IO口映射、中断触发条件设置、中断分组与优先级配置、中断服务函数编写以及中断标志位清除。重点解析了中断优先级分组的规则,并提供了具体的代码示例,帮助读者理解STM32中断系统的使用。
最低0.47元/天 解锁文章
1503

被折叠的 条评论
为什么被折叠?



