STM32中断系统
基本概念
一、日常生活中的中断
*图片来源网络
二、处理器中的中断
- 在处理器中,中断是一个过程,CPU在正常运行的过程中,遇到内部/外部的紧急事情需要处理,那么这个时候先终止当前程序的执行,转而去处理内部/外部的紧急事件,当这些事情被处理完成之后,再返回刚才被打断的地方继续往下执行程序。
- 意义:能够提升CPU的效率,同时能对突发事件作出实时处理,实现程序的并行化、嵌入式系统进程之间的切换
- 相较于轮询(按照一定的频率和周期不断地检测某些事件的发送),中断在处理一些偶然发生的事情效率会比较高,相较于一些不常发生的偶然的事件,采用轮询的方式比较消耗CPU的资源,会大大降低了CPU的效率
三、中断处理过程
进入中断
- 中断发生,处理器自动保存现场到堆栈里,当这些寄存器的状态和参数入栈结束后,中断服务子程序开始执行
退出中断
- 中断前的现场被自动从堆栈中恢复,一旦出栈完成,继续执行被中断打断的指令
四、NVIC(嵌套向量中断控制器)
ARM Crotex-M3内核支持25