一,EXTI(External Interrupt)外部中断事件控制器
什么是EXTI?
1.监测指定的GPIO口的电平信号变化,并检测到指定条件时,向内核的中断控制器NVIC发出中断申请。NVIC在裁决后,如果满足条件,会中断CPU的主程序,使CPU转而执行EXTI的中断服务程序。
2.触发方式:上升沿,下降沿,双边沿或软件触发
3.EXTI支持所有GPIO接口,但是要注意的是,相同的Pin不能同时触发中断。例如,PA0和PB0不能同时被配置为中断源
4.EXTI提供16个GPIO_Pin的中断线不能同时触发中断如PVD输出,RTC闹钟,USB唤醒和以太网唤醒。
二,中断/事件(面)
中断会打断CPU当前正执行的程序,转而去执行中断中断服务程序,待中断服务程序执行完毕后,CPU会返回到原来的程序执行点继续执行。
事件只是简单地表示某个动作或状态的变化,而不会打断CPU当前正在执行的程序。当事件发生时,它会根据配置来决定是否触发相应的中断,如果开放了对应的中断屏蔽位,事件就可以触发相应的中断,否则事件只会作为一个信号存在,不会被CPU处理
三,EXTI基本结构
EXTI基本框图
中断屏蔽寄存器:20位
第19位不看:中断屏蔽寄存器,上升沿RTSR,下降FTSR沿寄存器,挂起寄存器
输入线->上升,下降沿触发寄存器 -> 请求挂起寄存器->触发,中断屏蔽寄存器 ->NVIC中断控制器
->事件屏蔽寄存器->脉冲发生器