<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

不會RTOS,是因為你沒搞懂NVIC

朱老師物聯網大講堂 ? 2024-03-31 08:09 ? 次閱讀

一、到底什么是NVIC?


NVIC(Nested Vectored Interrupt Controller)中文翻譯為:嵌套中斷向量控制器。

NVIC屬于內核級別的外設單元,用來管理CPU的中斷。

由NVIC管理的中斷可進行中斷嵌套,直譯為高優先級可打斷低優先級中斷,然后高優先級執行完了再轉回去執行低優先級中斷。

對于RTOS(實時操作系統)類型的OS有很大的好處,所以先搞懂NVIC,再去涉獵RTOS,會更加的輕松。

二、搶占和次級優先級說明?

NVIC的優先級分為搶占和次優先級,這兩種優先級共同來管理所有中斷的響應次序以及是否能被打斷,如下圖所示:

fc9ac6d4-eef2-11ee-9118-92fbcf53809c.png

上圖中斷響應分為三種情況:

第一種情況搶占優先級不在同一級別:當中斷源C正在被執行時,中斷源A發生了中斷,這時會去比較搶占優先級,因為A的搶占優先級別比C高,所以會將C中斷掛起,轉而去執行A中斷,當A中斷執行完了又回去繼續執行C中斷。

第二種情況搶占優先級在同一級別:當中斷源B正在被執行時,中斷源A發生了中斷,這時會去比較搶占優先級,因為A的搶占優先級別和B相等,所以不會打斷B中斷,須等待B執行結束轉而去執行A中斷。

第三種情況搶占優先級在同一級別:當中斷源A、B同時發生了中斷,因為A和B的搶占優先級相等,轉而會繼續比較次優先級,而A的次優先級比B高,所以會先執行A然后再執行B。

NVIC的搶占優先級和次優先級數量是有限的,這需要自己設置有多少個搶占優先級和一個搶占優先級里面有多少個次優先級。

fca17d3a-eef2-11ee-9118-92fbcf53809c.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RTOS
    +關注

    關注

    20

    文章

    780

    瀏覽量

    118875
  • NVIC
    +關注

    關注

    0

    文章

    35

    瀏覽量

    11555
收藏 人收藏

    評論

    相關推薦

    為什么不會接開關呢?是因為不懂這些

    電工技術
    學習電子知識
    發布于 :2022年10月13日 20:58:36

    工作之所以成為工作,是因為只需要工作而不需要...

    有這么一句名言: 工作,它之所以成為工作,是因為只需要工作而不需要思考。   也許會對這句話有異議,但是大部分人和大部分工作確實是這樣的。工廠員工在流水線上機械地組裝,服務員每天重復著招待
    發表于 11-19 16:47

    用malab GUI做的鋼琴鍵盤,但是callbacks一直搞懂

    用malab GUI做的鋼琴鍵盤,但是callbacks一直搞懂,希望有人能幫幫忙,小弟在此謝過啦
    發表于 01-04 20:12

    AD仿真,這個錯誤是因為什么?

    這個錯誤是因為什么?
    發表于 11-03 21:53

    Atmage128重啟或死機,是因為電源處理好還是什么原因?

    用Atmage128 通過 光耦隔離驅動模塊 驅動直流有刷電機,電機參數是12V,300W,有時候在電機加速過程中,MCU就會重啟或死機(422通訊中斷),是因為電源處理好還是什么原因?用
    發表于 07-20 08:45

    實驗加也可以中斷

    usart實驗NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0);這句要加?我加也可以中斷而我同學寫的一個實驗,必須加這句,不加不會進中斷,不只哪里
    發表于 05-30 01:16

    什么是NVIC

    工作中涉及到stm32掛載非接中斷子程序,有時候共用外部中斷口線時,對中斷口線的處理得學習下,順便了解下中斷優先級設置。此文章從網上搜到轉載記錄下。出處:如果需要在STM32上移植RTOS,那么首先必須深入理解它的中斷系統。什么是NV
    發表于 08-13 08:40

    如何在RTOS中使用lwip庫?

    行不通的。我混淆了設置優先級(根據 FREE RTOSNVIC)lwip 和 RTOS。能給我建議嗎? 最好的祝福。
    發表于 01-16 07:28

    stlink無法識別是因為什么?

    stlink無法識別是因為什么
    發表于 10-31 06:40

    聯通員工:iPhone銷量低是因為很多人買不起

    聯通員工:iPhone銷量低是因為很多人買不起 聯通引入iPhone快2個月了,目
    發表于 12-25 10:02 ?489次閱讀

    手機廠家紛紛漲價全是因為

    3月1日,樂視宣布,對旗下樂Pro 3進行價格調整。在這之前,魅族、紅米、努比亞已先后宣布了漲價措施……手機廠家紛紛執行漲價措施,往常都想用低價策略吸引用戶的廠家們這次都是因為什么呢?
    發表于 03-21 11:58 ?727次閱讀
    手機廠家紛紛漲價全<b class='flag-5'>是因為</b>它

    雷軍:小米不被理解正是因為與眾不同

    雷軍在接受采訪時表示,小米之所以不被理解,是因為過去10年,小米一直都是一家與眾不同的公司。雷軍認為,可能還需要10年,大家才能夠發現,原來小米做了這么大的顛覆和變化。
    的頭像 發表于 01-28 09:08 ?2062次閱讀

    STM32F1----NVIC

    1.NVIC初始化流程配置中斷優先級分組void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);建立
    發表于 01-17 09:37 ?6次下載
    STM32F1----<b class='flag-5'>NVIC</b>

    磐石測控:深圳按鍵開關不靈敏是因為什么?

    磐石測控:深圳按鍵開關不靈敏是因為什么?
    的頭像 發表于 10-31 11:46 ?458次閱讀
    磐石測控:深圳按鍵開關不靈敏<b class='flag-5'>是因為</b>什么?

    錫膏不上錫是因為活性不足嗎?

    眾所周知,有時候錫膏不上錫是因為活性不足,還有人會說活性越多越好。有時候錫膏不掛錫是因為活性不足嗎。這樣的話,你會覺得錫膏的活性越高越好嗎?下一步由深圳錫膏廠家為大家分析一下:大家都知道錫膏中有許多
    的頭像 發表于 01-04 15:46 ?285次閱讀
    錫膏不上錫<b class='flag-5'>是因為</b>活性不足嗎?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>