【STM32F1标准库】理论——外部中断
目录
一、中断介绍
二、外部引脚EXTI申请的中断
三、外部中断的适用场景
四、其他注意事项
一、中断介绍
STM32可以触发中断的外设有外部引脚(EXTI)、定时器、ADC、DMA、串口、I2C、SPI等
中断同一由NVIC管理
n表示一个外设可能同时占用多个中断通道
优先级的值越小优先程度越高,当两类优先级的值均相同时按手册中的中断顺序表执行中断
响应优先级(决定排队顺序):决定CPU处理中断的顺序
抢占优先级(决定中断嵌套):情况过于紧急,不等前一个中断完成直接申请CPU处理
二、外部引脚EXTI申请的中断
EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序
支持的触发方式:上升沿/下降沿/双边沿/软件触发
支持的GPIO口:所有GPIO口,但相同位号Pin不能同时触发中断,如PA0和PB0,PA1和PB1等
通道数:16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒,共20个
触发响应方式:中断响应/事件响应(信号不通往CPU,而是去触发其他外设,如ADC、DMA等)
对于中断5~9,10~15是多个中断源选用一个NVIC通道,所以需要在中断函数内部判断到底是哪一个中断源的中断信号
三、外部中断的适用场景
在信号由外部驱动,STM32只能被动读取的场景下可以考虑使用外部中断
四、其他注意事项
1.中断函数执行时间不宜过长
2.主函数和中断函数最好不要调用相同的函数或操作相同的硬件,如主函数和中断函数同时使用OLED显示屏会出现字符显示重叠的现象
3.每完成一次中断都要清除中断标志位