0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么使用CubeMx配置NVIC時不見子優(yōu)先級選項

麥辣雞腿堡 ? 來源:茶話MCU ? 作者:茶話MCU ? 2023-09-09 15:32 ? 次閱讀

有些STM32用戶,尤其是那些用過基于ARM Cortx-M3/M4/M7內(nèi)核的STM32 MCU的用戶,在使用基于M0/M0+內(nèi)核的STM32系列并通過STM32CubeMx進行NVIC配置時,不難發(fā)現(xiàn)一個問題,那就是怎么沒有中斷子優(yōu)先級【或稱響應(yīng)優(yōu)先級、副優(yōu)先級等】的配置?!【當(dāng)然,很多時候我們或許沒有關(guān)注子優(yōu)先級】如下圖所示,只看到搶占優(yōu)先級的配置,看不到子優(yōu)先級的配置項。

圖片

上圖是我基于STM32L0系列芯片的配置,該系列芯片是基于ARM Cortex-M0+內(nèi)核的。我們再看看下圖的NVIC配置頁面,顯然可以看到搶占優(yōu)先級【Preemption Priority】和子優(yōu)先級【Sub
Priority】的配置項及相關(guān)信息

圖片

上圖是我基于STM32G4系列芯片的NVIC配置頁面。該系列的內(nèi)核是ARM Cortex-M4。

當(dāng)我們使用STM32系列芯片并通過CubeMx圖形化工具進行NVIC配置時,相應(yīng)界面有無子優(yōu)先級的配置,取決于該系列芯片所用的ARM Cortex內(nèi)核。如果說所用STM32系列是基于ARM Cortex-M0或M0+內(nèi)核的,在進行NVIC配置時是沒有子優(yōu)先級可以配置的。

ARM Cortex-M0或M0+內(nèi)核的中斷優(yōu)先級控制寄存器實際有效位就是2位,全部用來對各個中斷/異常做搶占優(yōu)先級配置,不額外劃分子優(yōu)先級的配置。

圖片

也就是說,基于ARM Cortex-M0或M0+內(nèi)核的STM32 MCU的NVIC配置不會有子優(yōu)先級的概念和配置,對于優(yōu)先級可配置的中斷而言,總共就4個可搶占優(yōu)先級。下圖是基于ARM Cortex-M0或M0+內(nèi)核的STM32系列展示。當(dāng)然,STM32系列涉及的內(nèi)核很多,遠不止下面這些,還有M4/M7/M33等。

圖片

而ARM Cortex-M3、M4、M7內(nèi)核的中斷優(yōu)先級配置寄存器的有效位為4位,同時還可以基于該4位做優(yōu)先級的分組,進而引出搶占優(yōu)先級和子優(yōu)先級。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420910
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16885

    瀏覽量

    349919
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9027

    瀏覽量

    366481
  • STM32
    +關(guān)注

    關(guān)注

    2264

    文章

    10854

    瀏覽量

    354297
收藏 人收藏

    評論

    相關(guān)推薦

    STM32 MCU通過STM32CubeMx配置NVIC怎么沒有中斷優(yōu)先級選項

    時,不難發(fā)現(xiàn)一個問題,那就是怎么沒有中斷優(yōu)先級【或稱響應(yīng)優(yōu)先級、副優(yōu)先級等】的配置?!【當(dāng)然,很多時候我們或許沒有關(guān)注子
    發(fā)表于 09-09 09:25 ?1801次閱讀
    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'>優(yōu)先級</b><b class='flag-5'>選項</b>

    STM32F103的寄存器NVIC_IPRx搶占優(yōu)先級優(yōu)先級是怎么設(shè)置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,搶占優(yōu)先級優(yōu)先級是怎么設(shè)置的? 如果,中斷分組2,搶占優(yōu)先級3,
    發(fā)表于 03-27 07:48

    [轉(zhuǎn)] STN32搶占優(yōu)先級與副優(yōu)先級及中斷優(yōu)先級NVIC理解

    首先來說說兩個概念,1、NVIC優(yōu)先級概念 搶占式優(yōu)先級 (pre-emption priority): 高占先式優(yōu)先級的中斷事件會打斷當(dāng)前的主程序/中斷程序運行— —搶斷式
    發(fā)表于 04-15 14:14

    UCOS3的串口優(yōu)先級配置問題如何解決

    最近學(xué)習(xí)UCOS3,之前沒接觸系統(tǒng),有個疑問,希望講解一下。 UCOS的任務(wù)優(yōu)先級好像是不分搶占優(yōu)先級優(yōu)先級,優(yōu)先級設(shè)置的時候在
    發(fā)表于 05-29 04:35

    中斷優(yōu)先級配置的函數(shù)

    一、中斷優(yōu)先級配置的函數(shù):1.NVIC_IRQChannelPreemptionPriority配置搶占優(yōu)先級2.
    發(fā)表于 08-04 08:24

    stm32配置中斷的優(yōu)先級問題

    在stm32開發(fā)中,我們可能需要多個串口同時收發(fā),這時需要配置下中斷的優(yōu)先級問題。中斷優(yōu)先級中搶占優(yōu)先級與響應(yīng)優(yōu)先級位數(shù)可自行分配。初始化時
    發(fā)表于 08-13 06:24

    NVIC中斷優(yōu)先級管理簡介

    如何對NVIC中斷管理函數(shù)進行配置?中斷優(yōu)先級設(shè)置的步驟有哪些?
    發(fā)表于 10-27 06:59

    NVIC中斷優(yōu)先級分組

    一、NVIC 中斷優(yōu)先級分組1、中斷管理方法:對stm32分為四組,0~4組,同時每個中斷設(shè)置一個搶占優(yōu)先級和一個響應(yīng)優(yōu)先級2、區(qū)別:3、中斷優(yōu)先級
    發(fā)表于 01-11 06:48

    STM32 NVIC中斷優(yōu)先級設(shè)置的步驟有哪些

    STM32NVIC中斷優(yōu)先級管理1. 優(yōu)先級先后順序搶占優(yōu)先級高于響應(yīng)優(yōu)先級(又稱
    發(fā)表于 01-14 09:20

    關(guān)于STM32H725 NVIC優(yōu)先級和次優(yōu)先級問題求解

    你好!我嘗試將 IRQ 優(yōu)先級設(shè)置為 3,優(yōu)先級設(shè)置為 2。HAL_NVIC_SetPriority(EXTI9_5_IRQn, 3, 2);我想對應(yīng)的
    發(fā)表于 12-12 07:47

    NVIC中斷優(yōu)先級分組

    NVIC中斷優(yōu)先級分組
    發(fā)表于 03-26 10:45 ?1次下載

    2021-04-16 NVIC中斷優(yōu)先級管理

    NVIC中斷優(yōu)先級管理NVIC中斷優(yōu)先級分組NVIC中斷優(yōu)先級設(shè)置
    發(fā)表于 12-04 17:06 ?7次下載
    2021-04-16  <b class='flag-5'>NVIC</b>中斷<b class='flag-5'>優(yōu)先級</b>管理

    STM32NVIC中斷優(yōu)先級

    STM32NVIC中斷優(yōu)先級CM3內(nèi)核共支持256個中斷,其中包含了16個內(nèi)核中斷,240個外部中斷,并且具有256可編程中斷設(shè)置。但是stm32并沒有使用CM3內(nèi)核全部的東西,stm32有84
    發(fā)表于 01-14 15:15 ?2次下載
    STM32<b class='flag-5'>NVIC</b>中斷<b class='flag-5'>優(yōu)先級</b>

    STM32NVIC中斷優(yōu)先級管理+思維導(dǎo)圖

    STM32NVIC中斷優(yōu)先級管理1. 優(yōu)先級先后順序搶占優(yōu)先級高于響應(yīng)優(yōu)先級(又稱
    發(fā)表于 01-14 15:29 ?1次下載
    STM32<b class='flag-5'>NVIC</b>中斷<b class='flag-5'>優(yōu)先級</b>管理+思維導(dǎo)圖

    STM32中斷沒有優(yōu)先級?

    比如,有時候你在使用STM32CubeMX配置時,你會發(fā)現(xiàn)只有Preemption Priority【搶占優(yōu)先級】,而沒有Sub Priority【次優(yōu)先級
    的頭像 發(fā)表于 10-17 15:50 ?758次閱讀
    STM32中斷沒有<b class='flag-5'>子</b><b class='flag-5'>優(yōu)先級</b>?