0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么使用CubeMx配置NVIC时不见子优先级选项

麦辣鸡腿堡 来源:茶话MCU 作者:茶话MCU 2023-09-09 15:32 次阅读

有些STM32用户,尤其是那些用过基于ARM Cortx-M3/M4/M7内核的STM32 MCU的用户,在使用基于M0/M0+内核的STM32系列并通过STM32CubeMx进行NVIC配置时,不难发现一个问题,那就是怎么没有中断子优先级【或称响应优先级、副优先级等】的配置?!【当然,很多时候我们或许没有关注子优先级】如下图所示,只看到抢占优先级的配置,看不到子优先级的配置项。

图片

上图是我基于STM32L0系列芯片的配置,该系列芯片是基于ARM Cortex-M0+内核的。我们再看看下图的NVIC配置页面,显然可以看到抢占优先级【Preemption Priority】和子优先级【Sub
Priority】的配置项及相关信息

图片

上图是我基于STM32G4系列芯片的NVIC配置页面。该系列的内核是ARM Cortex-M4。

当我们使用STM32系列芯片并通过CubeMx图形化工具进行NVIC配置时,相应界面有无子优先级的配置,取决于该系列芯片所用的ARM Cortex内核。如果说所用STM32系列是基于ARM Cortex-M0或M0+内核的,在进行NVIC配置时是没有子优先级可以配置的。

ARM Cortex-M0或M0+内核的中断优先级控制寄存器实际有效位就是2位,全部用来对各个中断/异常做抢占优先级配置,不额外划分子优先级的配置。

图片

也就是说,基于ARM Cortex-M0或M0+内核的STM32 MCU的NVIC配置不会有子优先级的概念和配置,对于优先级可配置的中断而言,总共就4个可抢占优先级。下图是基于ARM Cortex-M0或M0+内核的STM32系列展示。当然,STM32系列涉及的内核很多,远不止下面这些,还有M4/M7/M33等。

图片

而ARM Cortex-M3、M4、M7内核的中断优先级配置寄存器的有效位为4位,同时还可以基于该4位做优先级的分组,进而引出抢占优先级和子优先级。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47821

    浏览量

    409207
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16022

    浏览量

    343694
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8653

    浏览量

    361854
  • STM32
    +关注

    关注

    2240

    文章

    10675

    浏览量

    348866
收藏 人收藏

    评论

    相关推荐

    STM32 MCU通过STM32CubeMx配置NVIC怎么没有中断子优先级选项

    有些STM32用户,尤其是那些用过基于ARM Cortx-M3/M4/M7内核的STM32 MCU的用户,在使用基于M0/M0+内核的STM32系列并通过STM32CubeMx进行NVIC配置
    发表于 09-09 09:25 807次阅读
    STM32 MCU通过STM32<b class='flag-5'>CubeMx</b><b class='flag-5'>配置</b><b class='flag-5'>NVIC</b>怎么没有中断子<b class='flag-5'>优先级</b><b class='flag-5'>选项</b>

    STM32F103的寄存器NVIC_IPRx抢占优先级优先级是怎么设置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,抢占优先级优先级是怎么设置的? 如果,中断分组2,抢占优先级3,
    发表于 03-27 07:48

    [转] STN32抢占优先级与副优先级及中断优先级NVIC理解

    首先来说说两个概念,1、NVIC优先级概念 抢占式优先级 (pre-emption priority): 高占先式优先级的中断事件会打断当前的主程序/中断程序运行— —抢断式
    发表于 04-15 14:14

    转:第12章 FreeRTOS中断优先级配置(重要)

    本章节为大家讲解FreeRTOS中断优先级配置,此章节非常重要,初学者经常在这里犯迷糊。对于初学者来说,本章节务必要整明白。12.1 NVIC基础知识12.2 使用FreeRTOS时如何配置
    发表于 08-29 11:03

    stm32的NVIC抢占与响应优先级

    stm32的NVIC的响应优先级的意思是,在同一的抢占优先级的前提下,正在执行一个优先级低的中断,就算后面来了一个高级
    发表于 04-15 17:07

    UCOS3的串口优先级配置问题如何解决

    最近学习UCOS3,之前没接触系统,有个疑问,希望讲解一下。 UCOS的任务优先级好像是不分抢占优先级优先级优先级设置的时候在
    发表于 05-29 04:35

    中断优先级配置的函数

    一、中断优先级配置的函数:1.NVIC_IRQChannelPreemptionPriority配置抢占优先级2.
    发表于 08-04 08:24

    stm32配置中断的优先级问题

    在stm32开发中,我们可能需要多个串口同时收发,这时需要配置下中断的优先级问题。中断优先级中抢占优先级与响应优先级位数可自行分配。初始化时
    发表于 08-13 06:24

    STM32F7配置中断优先级

    管脚配置为上拉,下降沿触发中断。配置完如下图所示二、配置中断优先级点击NVIC选项卡,
    发表于 08-13 07:43

    NVIC中断优先级管理简介

    如何对NVIC中断管理函数进行配置?中断优先级设置的步骤有哪些?
    发表于 10-27 06:59

    NVIC中断优先级分组

    一、NVIC 中断优先级分组1、中断管理方法:对stm32分为四组,0~4组,同时每个中断设置一个抢占优先级和一个响应优先级2、区别:3、中断优先级
    发表于 01-11 06:48

    中断优先级分组(NVIC)的值与优先级有何关系

    中断优先级分组(NVIC)值越低,优先级越高
    发表于 01-14 08:15

    STM32 NVIC中断优先级设置的步骤有哪些

    STM32NVIC中断优先级管理1. 优先级先后顺序抢占优先级高于响应优先级(又称
    发表于 01-14 09:20

    关于STM32H725 NVIC优先级和次优先级问题求解

    你好!我尝试将 IRQ 优先级设置为 3,优先级设置为 2。HAL_NVIC_SetPriority(EXTI9_5_IRQn, 3, 2);我想对应的
    发表于 12-12 07:47

    NVIC中断优先级分组

    NVIC中断优先级分组
    发表于 03-26 10:45 1次下载