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位做优先级的分组,进而引出抢占优先级和子优先级。

图片

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

    关注

    456

    文章

    50967

    浏览量

    424869
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17185

    浏览量

    351739
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9111

    浏览量

    368044
  • STM32
    +关注

    关注

    2270

    文章

    10910

    浏览量

    356623
收藏 人收藏

    评论

    相关推荐

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

    时,不难发现一个问题,那就是怎么没有中断优先级【或称响应优先级、副优先级等】的配置?!【当然,很多时候我们或许没有关注子
    发表于 09-09 09:25 2018次阅读
    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><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

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

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

    中断优先级配置的函数

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

    stm32配置中断的优先级问题

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

    NVIC中断优先级管理简介

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

    NVIC中断优先级分组

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

    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次下载

    2021-04-16 NVIC中断优先级管理

    NVIC中断优先级管理NVIC中断优先级分组NVIC中断优先级设置
    发表于 12-04 17:06 7次下载
    2021-04-16  <b class='flag-5'>NVIC</b>中断<b class='flag-5'>优先级</b>管理

    STM32NVIC中断优先级

    STM32NVIC中断优先级CM3内核共支持256个中断,其中包含了16个内核中断,240个外部中断,并且具有256可编程中断设置。但是stm32并没有使用CM3内核全部的东西,stm32有84
    发表于 01-14 15:15 2次下载
    STM32<b class='flag-5'>NVIC</b>中断<b class='flag-5'>优先级</b>

    STM32NVIC中断优先级管理+思维导图

    STM32NVIC中断优先级管理1. 优先级先后顺序抢占优先级高于响应优先级(又称
    发表于 01-14 15:29 1次下载
    STM32<b class='flag-5'>NVIC</b>中断<b class='flag-5'>优先级</b>管理+思维导图

    STM32中断没有优先级

    比如,有时候你在使用STM32CubeMX配置时,你会发现只有Preemption Priority【抢占优先级】,而没有Sub Priority【次优先级
    的头像 发表于 10-17 15:50 828次阅读
    STM32中断没有<b class='flag-5'>子</b><b class='flag-5'>优先级</b>?