STM32 中断简单介绍
中断系统
中断概念
主程序运行时触发特定的中断条件后,使CPU暂停并保存任务,转而处理中断函数
中断优先级
中断有轻重缓急,CPU会根据中断优先级,优先相应更加重要的中断源
中断嵌套
当进入中断时,更高优先级中断触发,那么将会暂停当前中断程序,执行高优先级中断
中断数量
68个可屏蔽中断通道包含EXTI、TIM、ADC、USART、SPI、IIC、RTC等外设
由NVIC统一管理,每个中断有16个可编程优先等级,可以设置抢占优先级和响应优先级
所有中断参考 STM32F10xxx参考手册(中文).pdf P130 9.1.2 中断和异常向量
NVIC 嵌套向量中断控制器
Cortex-M3权威指南.pdf P26 2.4 内建的嵌套向量中断控制器
NVIC提供以下功能
- 可嵌套中断支持
- 向量中断支持
- 动态优先级调整支持
- 中断延迟大大缩短
- 中断可屏蔽
NVIC的优先级分组
中断一般不遵从先来后到的方式,一直都是优先级高的先响应
中断优先级有优先级的4位0-15决定,对这四位进行拆分可以分为高那位设置抢占优先级,低4-n位设置响应优先级AIRCR中断分组设置表
分组方式 | AIRCR[10:8] | IP bit[7:4]分配情况(抢占优先级:响应优先级) |
---|---|---|
0 | 111 | 0:4 |
1 | 110 | 1:3 |
2 | 101 | 2:2 |
3 | 100 | 3:1 |
4 | 011 | 4:0 |
抢占优先级与响应优先级
抢占优先级高可以中断嵌套,而响应优先级高可以优先响应,均相同按中断号排队(先到先得)
- 标题: STM32 中断简单介绍
- 作者: Kozakemi
- 创建于 : 2023-09-19 19:56:00
- 更新于 : 2024-05-17 13:47:59
- 链接: https://kozakemi.gitlab.io/post/b9bff18d.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论