中断是指计算机运行过程中,出现某些意外情况需要主机干预时,机器能够自动停止正在运行的程序并转入处理新情况的程序,处理完毕后有返回原来被暂停的程序继续运行
STM32的中断和异常
(1)对于异常和外部中断的功能,对于STM32单片机而言,是由芯片内的Cortex-M内核提供支持,这部分功能时有ST公司在Cortex-M内核上拓展或修改而来的
(2)异常和中断概念相近,异常可以说是内核活动产生(比如执行指令出错),中断一般是指,有连接到内核的外部器件(外设)产生(比如外设产生中断,提示数据传输完成),它们的触发或者说处理机制相同,使用中并不严格区分二者
STM32异常和中断一览表
可以看到,异常都是由编号表示的,并且中断类型也很多,中断存在优先级
中断优先级
(1)中断优先级分为两种,可编程和不可编程,可编程的表示可以自己修改中断优先级,不可编程的就不能修改
(2)对于STM32中断优先级,决定着内核优先响应谁的中断请求
(3)小值优先原则,中断优先级数值越小,中断就会被优先相应
(4)中断优先级按照优先级分组配置
中断优先级分组
以F103为例,STM32上只使用M3内核支持的8bit优先级中的高4位bit,也就是STM32支持2^4个优先级
bit7 | bit6</ |