那么今天就来谈谈中断吧。
我现阶段对中断的认识就是:程序因为外界的因素(也即触发中断的事件),停止现有工作,去完成另一项工作,再回到之前被暂停的工作继续运行。下面就单单讲讲按键中断的配置。
首先要清楚中断的触发条件是什么?也就是按键按下就会产生一次中断,实质上就是检测按键对应引脚的高低电平来知晓按键是否按下。
其次中断是怎么产生的?在如下EXTI框图中可以看到,有20条线路来提供中断线路,对输入的中断信号进行上升沿或下降沿检测,当检测到了经过一系列设置,信号进入NVIC再配置,进而运行中断处理函数。
需要注意的是,这个不仅要使能相应外设的时钟,还得使能中断通道的时钟,配置优先级,中断源(相应的中断线路的编号,此编号经过转换就是中断处理函数的入口地址);配置信号源(相应的引脚),中断模式等,最后使能中断线路,初始化配置后就能正常使用了。
那么今天就暂且讨论至此。。。
原文:https://www.cnblogs.com/lzd626/p/9332649.html