请选择 进入手机版 | 继续访问电脑版
搜索
查看: 1698|回复: 0

[原创] STM32中断优先级管理

[复制链接]

该用户从未签到

9

主题

102

帖子

0

蝴蝶豆

高级会员

最后登录
2018-9-25
发表于 2017-10-16 23:44:10 | 显示全部楼层 |阅读模式
1:STM32中断优先级:
01:占先式优先级(pre-emption priority)
高占先式优先级的中断事件会打断当前的主程序/中断程序运行——抢断式优先响应,俗称中断嵌套。
02:副优先级(subpriority)
在占先式优先级相同的情况下,高副优先级的中断优先被响应;
在占先式优先级相同的情况下,如果有低副优先级中断正在执行,高副优先级的中断要等待已被响应的低副优先级中断执行结束后才能得到响应——非抢断式响应(不能嵌套)。
03:判断中断是否会被响应的依据
首先是占先式优先级,其次是副优先级;
占先式优先级决定是否会有中断嵌套;
Reset、NMI、Hard Fault 优先级为负(高于普通中断优先级)且不可调整。


2:STM32中断优先级配置
每一个中断都有一个专门的寄存器(Interrupt Priority Registers)来描述该中断的占先式优先级及副优先级。在这个寄存器中STM32使用4个二进制位描述优先级(Cortex-M3定义了8位,但STM32只使用了4位)。
占先式优先级与副优先级的分配4个描述优先级位有下列5种组合使用方式。“优先级组别”决定如何解释这4位。

中断优先级组别.png


3:STM32中断优先级配置示例
中断优先级配置示例.png

4:STM32总中断控制
void __disable_irq(void) // DisableInterrupts 关总中断
void __enable_irq(void) // EnableInterrupts 开总中断
更多精彩内容请关注微信公众号,一起学习一起进步。
或扫码关注
QQ图片20171014213345.png



回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-3-29 03:28 , Processed in 1.168105 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表