当前位置: 首页 > wzjs >正文

怎么做买东西的网站免费发布软文广告推广平台

怎么做买东西的网站,免费发布软文广告推广平台,广西南宁时空网首页,wordpress08模板我们来澄清一下 STM32 NVIC 中断优先级的行为,特别是在抢占优先级和响应优先级(子优先级)都相同的情况下: 核心规则回顾: 抢占优先级 (Preemption Priority): 决定了中断是否可以打断另一个正在执行的中断。 高抢占优…

我们来澄清一下 STM32 NVIC 中断优先级的行为,特别是在抢占优先级和响应优先级(子优先级)都相同的情况下:

核心规则回顾:

  1. 抢占优先级 (Preemption Priority): 决定了中断是否可以打断另一个正在执行的中断

    • 高抢占优先级(数值小)的中断可以打断低抢占优先级(数值大)的、正在执行的中断。

    • 这是实现中断嵌套的关键。

  2. 响应优先级 (Subpriority): 决定了在抢占优先级相同且同时挂起的情况下,哪个中断优先得到响应

    • 它只在抢占优先级相同的中断之间比较。

    • 高响应优先级(数值小)的中断会比低响应优先级(数值大)的中断先被响应。

    • 它不能导致中断嵌套! 如果两个中断抢占优先级相同,即使一个的响应优先级更高,它也不能打断另一个正在执行的中断。

  3. 硬件中断号 (IRQ Number): 这是芯片设计时固定的物理编号(比如 EXTI0_IRQn=6EXTI1_IRQn=7TIM2_IRQn=28 等)。

    • 它只在抢占优先级和响应优先级都完全相同的情况下,作为最后的仲裁者

    • 硬件中断号越小(数值越小),优先级越高。 这与软件设置的优先级数值意义(数值小=优先级高)是一致的。

针对你的问题:中断执行时再中断?

  • 绝对不行! 如果一个中断服务程序 (ISR) 正在执行:

    • 只有抢占优先级比它更高(数值更小)的中断才能打断它(抢占它)。

    • 响应优先级的高低对此毫无影响。 即使一个中断的响应优先级非常高(数值很小),只要它的抢占优先级等于或低于当前正在执行中断的抢占优先级,它就必须等待当前 ISR 执行完毕才能运行。

    • 硬件中断号的高低对此更毫无影响。 中断号只在所有软件优先级都相同时决定排队顺序,它完全不具备让一个中断打断另一个正在执行中断的能力

当抢占优先级和响应优先级都一样时:

  • 排队顺序: 当多个中断同时发生或挂起,且它们的抢占优先级和响应优先级都完全相同时,NVIC 会根据它们的硬件中断号 (IRQ Number) 来决定响应顺序

    • 中断号越小(数值越小)的中断,会优先得到 CPU 的响应。

    • 例如:中断号 6 (EXTI0) 会比中断号 7 (EXTI1) 优先被响应;中断号 28 (TIM2) 会比中断号 29 (TIM3) 优先被响应。

  • 执行顺序: 一旦某个中断开始执行(它的 ISR 被调用):

    • 在它执行完毕(或执行到末尾的 BX LR / 中断返回指令)之前,任何与它抢占优先级相同或更低的中断(无论响应优先级或中断号是多少)都无法打断它

    • 那些优先级相同的中断,会按照中断号顺序在 NVIC 的挂起队列中排队等待当前 ISR 执行完毕。



在STM32的NVIC(嵌套向量中断控制器)中,无论你选择哪种优先级分组方式(即不管抢占优先级和响应优先级各占多少位),也无论它们的位数如何组合,都遵循一个铁律:

数值越小,优先级越高!

这个规则适用于:

  1. 抢占优先级 (Preemption Priority):

    • 数值越小的抢占优先级,级别越高

    • 高抢占优先级(小数值)的中断可以打断低抢占优先级(大数值)的中断(正在执行的中断)。

    • 这是实现中断嵌套的唯一依据。

  2. 响应优先级 (Subpriority / Response Priority):

    • 数值越小的响应优先级,级别越高

    • 但是! 响应优先级在抢占优先级相同的中断之间起作用。

    • 当多个抢占优先级相同的中断同时挂起时,响应优先级(小数值)的中断会优先被响应(先进入执行)。

    • 关键点: 响应优先级不能让一个中断打断另一个正在执行的、与其抢占优先级相同的中断。它只决定在排队等待时的先后顺序。

优先级分组的作用:

优先级分组(通过 NVIC_SetPriorityGrouping() 或 HAL 库中的 HAL_NVIC_SetPriorityGrouping() 设置)唯一的作用是决定 4 位优先级字段 (0-15) 如何在抢占优先级和响应优先级之间进行分配。 它不改变“数值越小,优先级越高”这个根本规则。

分组举例说明规则不变性:

假设优先级分组设置为 NVIC_PRIORITYGROUP_2(抢占优先级占 2 位 [0-3],响应优先级占 2 位 [0-3]):

  • 抢占优先级: 0 (最高) > 1 > 2 > 3 (最低)

  • 响应优先级: 0 (最高) > 1 > 2 > 3 (最低)

  • 中断 A: 抢占优先级=1, 响应优先级=0

  • 中断 B: 抢占优先级=1, 响应优先级=3

    • 比较: 抢占优先级相同(都是1),比较响应优先级。A的响应优先级 0 > B的响应优先级 3,所以 A 会优先于 B 被执行(如果两者同时挂起)。

  • 中断 C: 抢占优先级=0

    • 比较 vs A/B: C的抢占优先级 0 > A/B的抢占优先级 1。因此,无论C的响应优先级是多少(即使C的响应优先级是3,A的是0),C 都可以打断 正在执行的 A 或 B,因为 C 的抢占优先级更高(数值更小)。

再假设分组设置为 NVIC_PRIORITYGROUP_4(抢占优先级占 4 位 [0-15],无响应优先级位):

  • 抢占优先级: 0 (最高) > 1 > 2 > ... > 15 (最低) — 此时响应优先级不存在或固定为0。

  • 中断 D: 抢占优先级=5

  • 中断 E: 抢占优先级=10

    • 比较: D的抢占优先级 5 > E的抢占优先级 10 (数值5 < 10)。所以 D 可以打断 E。

  • 中断 F: 抢占优先级=0

    • 比较 vs D/E: F的抢占优先级 0 > D的5 > E的10。F可以打断D或E。

总结关键点:

  1. 数值小 = 优先级高: 这是STM32 NVIC优先级(无论是抢占还是响应)的绝对核心规则,适用于所有配置。

  2. 分组改变分配,不改变规则: 优先级分组只改变4位优先级值中多少位解释为抢占优先级,多少位解释为响应优先级。它不改变每个部分内部“数值小=优先级高”的比较逻辑。

  3. 抢占优先级决定嵌套: 只有更高抢占优先级(更小数值)的中断才能打断当前中断。

  4. 响应优先级决定排队: 仅在抢占优先级相同时,更高响应优先级(更小数值)的中断先执行。它不影响打断能力。

  5. 中断号是最终仲裁: 当抢占和响应优先级都完全相同时,硬件中断号(数值小)的优先。这同样符合“数值小=优先级高”的延伸逻辑,且只影响排队,不影响打断。


文章转载自:

http://gxYhdURS.qgzmz.cn
http://vS0m3tzW.qgzmz.cn
http://DXnZPjo4.qgzmz.cn
http://qTfDGtPx.qgzmz.cn
http://AYvAJQtM.qgzmz.cn
http://KyCpRDRU.qgzmz.cn
http://6Ei88g3Z.qgzmz.cn
http://CplofpT7.qgzmz.cn
http://fFp9rBFn.qgzmz.cn
http://GsKJRwdR.qgzmz.cn
http://7mnj7tBB.qgzmz.cn
http://vWLGVMes.qgzmz.cn
http://CC9BeHiX.qgzmz.cn
http://S0vRYerv.qgzmz.cn
http://7Y0hWQfo.qgzmz.cn
http://r0xUws5i.qgzmz.cn
http://SgWouKBB.qgzmz.cn
http://Q61oHgPP.qgzmz.cn
http://5m4GxAPg.qgzmz.cn
http://G5SMHOow.qgzmz.cn
http://mnockCKQ.qgzmz.cn
http://zWBboRrr.qgzmz.cn
http://GlDlqBPE.qgzmz.cn
http://HCnk1MtU.qgzmz.cn
http://v2Q6gYcx.qgzmz.cn
http://3HiwK8E3.qgzmz.cn
http://knCgBTKt.qgzmz.cn
http://pwjF6psw.qgzmz.cn
http://GaBI1upk.qgzmz.cn
http://InDuNvT5.qgzmz.cn
http://www.dtcms.com/wzjs/690122.html

相关文章:

  • 用nas做网站服务器陕西网站建设优化技术
  • 欧美男女直接做的视频网站网站建设在哪里
  • 网站公司开发哪有个人免费云服务器
  • 做营销的有那么网站网站基本要素
  • 单页网站技术wordpress字体编辑插件下载
  • 建立网站站点的过程怎么简化Wordpress欢迎页面
  • 做自己的网站可以赚钱吗北京做网站好的网站建设公司
  • 建邺区住房 建设 网站企业名录搜索网站
  • 企业网站的劣势大学生创新创业大赛ppt
  • 免费行情软件网站大全网页版昆明做网站建设怎么样
  • qq教程网站源码网站开发公司宣传语
  • 郑州修了你官方网站酒泉网站建设费用
  • wordpress可视化建站wordpress表单修改
  • 图片背景在网站建设中小米手机做网站服务器吗
  • 东莞住房和城乡建设厅网站公司彩页设计制作
  • 房产销售网站开发文档手游传奇发布网站999
  • 门户网站是什么wordpress维护费用
  • 建站快车产品介绍网站网站怎么定位
  • 自己有服务器怎么做网站网站如何看是哪家公司做的
  • 公司网站的服务器wordpress 3.8.1 中文
  • 网站数据库空间大小哈尔滨做网站建设
  • 自己做网站投放有流量么百度短网址生成器
  • 单位网站建设要记入无形资产吗app开发定制软件公司
  • 郑州工程建设信息网站网站定位分析
  • 凡科建设网站安全吗加速网站的加速器
  • 湘西建网站饭店品牌建设
  • 金融证券网站模板太原网站建设价格
  • 网络营销方式分析厦门seo推广优化
  • 沙田镇网站建设旅行社手机网站建设成
  • 承德市建设局网站电话今天的新闻联播文字版