STM32-外部中断常见问题记录
在工作中遇到了一些问题,现在记录在这里方便以后查看
1. STM32的外部中断触发方式
STM32只支持边缘触发,而不支持电平触发.
2. STM32外部中断分组
STM32中,每一个GPIO都可以当作是外部中断输入口, 并根据引脚编号将中断进行了分组.
引脚标号0~4的IO管脚有独立的中断源.
引脚标号5-9的IO管脚共享一个中断源
引脚标号10-13的IO管脚共享一个中断源
3. 外部中断服务函数不能触发分析
主要是因为以下几点造成了服务函数无法进入
1)GPIO或者AFIO的时钟没有开启,比较常见的是忘记了开启AFIO时钟;
2)GPIO和配置的中断线路不匹配;
3)中断触发方式和实际不相符合;
4) NVIC配置与实际不匹配,使用了错误的NVIC_IRQChannel,建议在stm32f10x.h中查找对应Channel.
5)使用了错误的中断处理函数名,这种情况多出于使用库函数. 建议在startup_stm32f***.s中查找对应中断函数名;
6)不能检测到边缘,这种情况多发生在引脚处于悬空状态, 建议上拉或者下拉方式固定引脚平时的电平
本博客全部文章(除文章标题或文内有另外特别说明的)皆为本人辛苦码字而得,本人拥有其版权。
转载时请以超链接形式标明文章原始出处和作者。谢谢