把I/O口作为外部中断输入,需要进行以下步骤:
1 初始化I/O口为输入。
可以设置为上拉/下拉输入,也可以设置为悬浮输入,但是设置悬浮输入时,记得带上上拉/下拉电阻。
2 开启I/O口复用时钟,设置I/O口与中断线的映射关系。
3 开启与该I/O口相对应的线上中断/时间,设置触发条件。
STM32 可以配置成上升沿出发、下降沿触发、任意电平触发,但不能配置成高电平触发和低电平触发。
4 配置终端分组(NVIC)并使能中断
5 编写中断服务函数。
参考程序:https://github.com/2012wowo/EXTI-STM32
参考文献《原子教你玩STM32(寄存器版)》
更多精彩内容 欢迎关注公众号【跟单片机谈恋爱】