STM 32 EXTI

来源:互联网 发布:linux禅道服务启动 编辑:程序博客网 时间:2024/05/18 02:59

IO 口外部中断

1.STM32的每个IO都可以作为外部中断输入。
2.每个外部中断线可以独立的设置触发方式(上升沿,下降沿,或者双边沿触发),触发或是屏蔽,专用的状态位。
3.STM32供IO使用的中断线只有16个,但是STM32F系列的IO口多达上百个,那么中断线怎么跟IO口对应呢?

这里写图片描述

IO口外部中断在中断向量表中7个中断向量,也就是只能使用7个中断服务函数。

这里写图片描述

IO口外部中断HAL库配置方法

外部中断的中断线映射配置和触发方式都是在GPIO初始化函数中完成:

这里写图片描述

和串口中断一样,HAL库同样提供了外部中断通用处理函数HAL_GPIO_EXTI_IRQHandler,我们在外部中断服务函数中会调用该函数处理中断。

这里写图片描述

HAL_GPIO_EXTI_IRQHandler函数内部通过判断中断来源引脚,最终调用外部中断回调函数HAL_GPIO_EXTI_Callback来处理中断。

这里写图片描述

用户最终编写中断处理回调函数来编写中断处理逻辑。

外部中断的一般配置步骤:

这里写图片描述

原创粉丝点击