目录
STM32中断系统
ARM Cortex M3内核支持256个中断,包括16个内核中断和240个外设中断,拥有256个中断,拥有256个中断优先级别。
STM32的中断通道可能会与多个中断源共用。
STM32有两个中断优先级概念:抢占优先级和响应优先级,每个中断都需要指定两个优先级。
STM32的外部中断
外部中断ExTI是STM32芯片实时处理外部事件的一种机制,由于中断请求来自GPIO端口的引脚,所以称为外部中断。
STM32芯片有16个外部中断源ExTI0~ExTI15,分别对应着7个中断向量,也就是对应着7个中断服务函数
ExTI0、ExTI1、ExTI2、ExTI3、ExTI4(专用) |
ExTI5、ExTI6、ExTI7、ExTI8、ExTI9(共用) |
ExTI10、ExTI11、ExTI12、ExTI13、ExTI14、ExTI15(共用) |
注:x表示A~G;0表示每个端口的0号引脚,其他类似
外部中断的程序设计思路
STM32外部中断的设计步骤 | STM32CubeMX配置外部中断设计步骤 |
1.将GPIO初始化为输入端口 | 1.在STM32CubeMX中指定引脚,配置中断初识化函数 |
2.配置相关的I/O引脚对应的中断源的映射关系 | 2.重新该I/O引脚对应的中断回调函数 |
3.设置该I/O引脚对应的中断触发条件 | |
4.配置NVIC,并使能中断 | |
5.编写中断服务函数 |