您的位置 首页 ADAS

STM32中的优先级概念

STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作亚优先级或副优先级,每个中断源都需要被指定这

STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和呼应优先级,也把呼应优先级称作“亚优先级”或“副优先级”,每个中止源都需要被指定这两种优先级。

1.什么是占先式优先级(pre-emption priority)

高占先式优先级的中止事情会打断当时的主程序/中止程序运转—抢断式优先呼应,俗称中止嵌套。

2.什么是副优先级(subpriority)

在占先式优先级相同的情况下,高副优先级的中止优先被呼应;

在占先式优先级相同的情况下,假如有低副优先级中止正在履行,高副优先级的中止要等候已被呼应的低副优先级中止履行完毕后才干得到呼应—非抢断式呼应(不能嵌套)。

3.判别中止是否是被呼应的依据

首先是占先式优先级,其次是副优先级;

占先式优先级决议是否会有中止嵌套;

4.优先级抵触的处理

具有高抢占式优先级的中止能够在具有低抢占式优先级的中止处理进程中被呼应,即中止的嵌套,或者说高抢占式优先级的中止能够嵌套低抢占式优先级的中止。

当两个中止源的抢占式优先级相一起,这两个中止将没有嵌套联系,当一个中止到来后,假如正在处理另一个中止,这个后到来的中止就要比及前一个中止处理完之后才干被处理。假如这个两个中止一起抵达,则中止控制器依据他们的呼应优先级凹凸来决议先处理哪一个;假如他们的抢占式优先级和呼应优先级都持平,则依据他们在中止表中的排位次序决议先处理哪一个。

5.STM32中对中止优先级的界说

STM32中指定中止优先级的寄存器位有4位,这4个寄存器位的分组方法如下:

第0组:一切4位用于指定呼应优先级

第1组:最高1位用于指定抢占式优先级,最低3位用于指定呼应优先级

第2组:最高2位用于指定抢占式优先级,最低2位用于指定呼应优先级

第3组:最高3位用于指定抢占式优先级,最低1位用于指定呼应优先级

第4组:所以4位用于指定抢占式优先级

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/259781.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部