那么今天就来谈谈中断吧。

我现阶段对中断的认识就是:程序因为外界的因素(也即触发中断的事件),停止现有工作,去完成另一项工作,再回到之前被暂停的工作继续运行。下面就单单讲讲按键中断的配置。

首先要清楚中断的触发条件是什么?也就是按键按下就会产生一次中断,实质上就是检测按键对应引脚的高低电平来知晓按键是否按下。

其次中断是怎么产生的?在如下EXTI框图中可以看到,有20条线路来提供中断线路,对输入的中断信号进行上升沿或下降沿检测,当检测到了经过一系列设置,信号进入NVIC再配置,进而运行中断处理函数。

需要注意的是,这个不仅要使能相应外设的时钟,还得使能中断通道的时钟,配置优先级,中断源(相应的中断线路的编号,此编号经过转换就是中断处理函数的入口地址);配置信号源(相应的引脚),中断模式等,最后使能中断线路,初始化配置后就能正常使用了。

那么今天就暂且讨论至此。。。

posted on 2018-07-18 21:15  lzd626  阅读(238)  评论(0编辑  收藏  举报