《STM32》中的抢占优先级和子优先级的区别是什么?
3个回答
网易云信
2023-12-06 广告
2023-12-06 广告
网易云信提供一站式的 1 对 1 UIKit 组件库,可以更快地搭建 1 对 1 社交平台,能够快速实现音视频呼叫、音视频通话、1对1消息发送、美颜和礼物功能,直接可以复用我们的组件源码就可以了。优势:1、全套1对1 UI组件,接入更快;2...
点击进入详情页
本回答由网易云信提供
展开全部
STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”或“副优先级”,每个中断源都需要被指定这两种优先级。
1. 何为占先式优先级(pre-emption priority)
高占先式优先级的中断事件会打断当前的主程序/中断程序运行—抢断式优先响应,俗称中断嵌套。
2. 何为副优先级(subpriority)
在占先式优先级相同的情况下,高副优先级的中断优先被响应;
在占先式优先级相同的情况下,如果有低副优先级中断正在执行,高副优先级的中断要等待已被响应的低副优先级中断执行结束后才能得到响应—非抢断式响应(不能嵌套)。
1. 何为占先式优先级(pre-emption priority)
高占先式优先级的中断事件会打断当前的主程序/中断程序运行—抢断式优先响应,俗称中断嵌套。
2. 何为副优先级(subpriority)
在占先式优先级相同的情况下,高副优先级的中断优先被响应;
在占先式优先级相同的情况下,如果有低副优先级中断正在执行,高副优先级的中断要等待已被响应的低副优先级中断执行结束后才能得到响应—非抢断式响应(不能嵌套)。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stm32f103的优先级有4位,也就是从0-15。优先级值越小,优先级越高,0为最高优先级。为了实现中断嵌套,也就是在中断中实现中断,将优先级分为抢占优先级和子优先级(亚优先级),优先级分组由AIRCR寄存器的bit8-10确定。高抢占优先级的中断可以打断低优先级的中断,但是高子优先级的中断不可以打断低子优先级的中断。子优先级的作用是当同时触发两个抢占优先级相同的但子优先级不同的中断时,子优先级高(数值小)的中断先响应。当优先级相同时,也就是抢占优先级和子优先级都相同时,异常响应编号最小的那个先响应。也就是IRQ #3会比 IRQ #5 先得到响应。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询