STM32 中断优先级与相关使用概念 STM32 中断优先级相关概念与使用笔记对 STM32 的中断进行了详细的讲解。该笔记涵盖了 STM32 中断优先级的基本概念、STM32 中断优先级的设置、NVIC 寄存器、优先级寄存器、抢先式优先级和子优先级的概念等。 一、基本概念 STM32 中断优先级相关概念与使用笔记首先介绍了 ARM Cortex-M3 内核支持 256 个中断(16 个内核+240 外部)和可编程 256 级中断优先级的设置。该内核支持 NVIC 寄存器和 SYSTICK 等寄存器,它们都是 Cortex-M3 内核的一部分。STM32 采用了 Cortex-M3 内核,因此保留了这些寄存器,但 STM32 并没有使用 Cortex-M3 内核全部的东西,如内存保护单元 MPU 等。 二、STM32 中断优先级设置 STM32 目前支持的中断共为 84 个(16 个内核+68 个外部),和 16 级可编程中断优先级的设置。该笔记详细介绍了中断优先级的概念,包括 NVIC 寄存器、优先级寄存器、抢先式优先级和子优先级的概念等。 三、中断通道概念 该笔记还介绍了中断通道概念,对于 Cortex-M3 内核所支持的 240 个外部中断,使用了中断通道概念,因为每个中断对应一个外围设备,但该外围设备通常具备若干个可以引起中断的中断源或中断事件。而该设备的所有的中断都只能通过该指定的中断通道向内核申请中断。因此,下面关于中断优先级的概念都是针对中断通道的。 四、优先级寄存器 STM32 可以支持的 68 个外部中断通道,已经固定的分配给相应的外部设备。每个中断通道都具备自己的中断优先级控制字节 PRI_n(8 位,但在 STM32 中只使用 4 位,高 4 位有效),每 4 个通道的 8 位中断优先级控制字(PRI_n)构成一个 32 位的优先级寄存器(Priority Register)。68 个通道的优先级控制字至少构成 17 个 32 位的优先级寄存器,它们是 NVIC 寄存器中的一个重要部分。 五、抢先式优先级和子优先级 对于这 4bit 的中断优先级控制位还必须分成 2 组看:从高位开始,前面是定义抢先式优先级的位,后面用于定义子优先级。4bit 的分组组合可以有以下几种形式:70:4 无抢先式优先级,16 个子优先级;61:3 个抢先式优先级,8 个子优先级;52:2 个抢先式优先级,4 个子优先级;43:1 个抢先式优先级,2 个子优先级;3/2/1/0:4 个抢先式优先级,无子优先级。 六、AIRCR 寄存器 在一个系统中,通常只使用上面 5 种分配情况的一种,具体采用哪一种,需要在初始化时写入到一个 32 位寄存器 AIRC(Application Interrupt and Reset Control Register)的第[10:8]这 3 个位中。这 3 个 bit 位有专门的称呼:PRIGROUP(具体写操作后面介绍)。 七、中断服务程序 如果在你的系统中使用了 TIME2 (中断通道 28 )和 EXTI0 (中断通道 6)两个中断,而 TIME2 中断必须优先响应,而且当系统在执行 EXTI0 中断服务时也必须打断(抢先、嵌套),就必须设置 TIME2 的抢先优先级比 EXTI0 的抢先优先级要高(数目小)。假定 EXTI0 为 2 号抢先优先级,那么 TIME2 就必须设置成 0 或 1 号抢先优先级。 八、具体优先级的确定和嵌套规则 ARM Cortex-M3(STM32)规定 a/ 只能高抢先优先级的中断。该笔记还详细介绍了具体优先级的确定和嵌套规则。


剩余7页未读,继续阅读
















- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 异构混合阶多智能体系统(含UGV和UAV)的一致性验证:动态与静态一致性结果
- MATLAB中自适应动态规划与线性系统最优输出调节的技术解析及应用
- 基于Matlab的数字滤波器设计与FFT频谱分析程序集成解决方案
- 基于TTAO优化器的CNN-LSTM回归预测模型:MATLAB实现与应用
- 基于Matlab仿真的倒立摆控制系统设计与GUI操作指南
- 电池管理领域自适应模糊双闭环Fuzzy-PI控制策略及其在SOC主动均衡中的应用与优化 Fuzzy-PI
- 利用COMSOL构建简化的P2D锂离子电池模型:基于公开电化学参数的准二维验证 COMSOL 经典版
- 计算机控制系统设计:三阶系统控制方法探讨——最少控制系统、史密斯预估补偿器、大林算法的应用
- 射流气动噪声的近场远场计算及fluent流场求解导出、Lms声辐射计算方法与实现 四极子声源 完整版
- 物流仓储货位分配优化的遗传算法Matlab实现及其应用
- 虚拟同步发电机(VSG)单电流环控制与中点电位平衡控制、SPWM调制 · VSG v2.1
- Simulink中基于MRAS的永磁同步电机无速度传感器控制仿真模型及其应用 - MATLABSimulink
- 新能源汽车热管理1D分析模型及应用——基于KULI软件的整车级工况仿真
- Abaqus三点弯裂纹扩展模拟:骨料占比、界面强度对混凝土断裂性能的影响 · 内聚力单元 2024版
- 基于Cruise与MATLABSimulink的燃料电池汽车多点恒功率控制策略联合仿真研究
- 【24年最新算法】'NRBO-LSSVM交叉验证':第一个人使用的Matlab代码 权威版



评论0