色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

單片機里的“中斷”優先級

Q4MP_gh_c472c21 ? 來源:技術讓夢想更偉大 ? 作者:技術讓夢想更偉大 ? 2022-04-08 09:57 ? 次閱讀

中斷優先級的內容,有一般緊急的中斷,有特別緊急的中斷,這取決于具體的系統設計,這就涉及到中斷優先級和中斷嵌套的概念,今天先簡單介紹一下相關寄存器,不做例程說明。

中斷的產生背景,實際生活當中還有更復雜的,比如我正在看電視,這個時候來電話了,我要進入接電話的“中斷”程序當中去,就在接電話的同時,聽到了水開的聲音,水開的“中斷”也發生了,我們就必須要放下手上的電話,先把煤氣關掉,然后再回來聽電話,最后聽完了電話再看電視,這里就產生了一個優先級的問題。

還有一種情況,我們在看電視的時候,這個時候聽到水開的聲音,水開的“中斷”發生了,我們要進入關煤氣的“中斷”程序當中,而在關煤氣的同時,電話聲音響了,而這個時候,我們的處理方式是先把煤氣關閉,再去接聽電話,最后再看電視。

從這兩個過程中,我們可以得到一個結論,就是最最緊急的事情,一旦發生后,我們不管當時處在哪個“程序”當中,我們必須先去處理最最緊急的事情,處理完畢后再去解決其它事情。

在我們的單片機程序當中有時候也是這樣的,有一般緊急的中斷,有特別緊急的中斷,這取決于具體的系統設計,這就涉及到中斷優先級和中斷嵌套的概念,今天先簡單介紹一下相關寄存器,不做例程說明。

中斷優先級有兩種,一種是搶占優先級,一種是固有優先級,先介紹搶占優先級。來看表1和表2。

表1:IP——中斷優先級寄存器的位分配(地址0xB8、可位尋址)

9c9d1d68-b6b9-11ec-aa7f-dac502259ad0.png

表2:IP——中斷優先級寄存器的位描述

9ca935d0-b6b9-11ec-aa7f-dac502259ad0.png

IP 這個寄存器的每一位,表示對應中斷的搶占優先級,每一位的復位值都是 0,當我們把某一位設置為 1 的時候,這一位的優先級就比其它位的優先級高了。

比如我們設置了 PT0位為 1 后,當單片機在主循環或者任何其它中斷程序中執行時,一旦定時器 T0 發生中斷,作為更高的優先級,程序馬上就會跑到 T0 的中斷程序中來執行。

反過來,當單片機正在 T0中斷程序中執行時,如果有其它中斷發生了,還是會繼續執行 T0 中斷程序,直到把 T0 中的中斷程序執行完畢以后,才會去執行其它中斷程序。

當進入低優先級中斷中執行時,如又發生了高優先級的中斷,則立刻進入高優先級中斷執行,處理完高優先級級中斷后,再返回處理低優先級中斷,這個過程就叫做中斷嵌套,也稱為搶占。

所以搶占優先級的概念就是,優先級高的中斷可以打斷優先級低的中斷的執行,從而形成嵌套。當然反過來,優先級低的中斷是不能打斷優先級高的中斷的。

表3:中斷查詢序列

9cba992e-b6b9-11ec-aa7f-dac502259ad0.png

那么既然有搶占優先級,自然就也有非搶占優先級了,也稱為固有優先級。在表3中的最后一列給出的就是固有優先級,請注意,在中斷優先級的編號中,一般都是數字越小優先級越高。

從表3中可以看到一共有 1~6 共 6 級的優先級,這里的優先級與搶占優先級的一個不同點就是,它不具有搶占的特性,也就是說即使在低優先級中斷執行過程中又發生了高優先級的中斷,那么這個高優先級的中斷也只能等到低優先級中斷執行完后才能得到響應。既然不能搶占,那么這個優先級有什么用呢?

答案是多個中斷同時存在時的仲裁。比如說有多個中斷同時發生了,當然實際上發生這種情況的概率很低,但另外一種情況就常見的多了,那就是出于某種原因我們暫時關閉了總中斷,即 EA=0,執行完一段代碼后又重新使能了總中斷,即 EA=1,那么在這段時間里就很可能有多個中斷都發生了,但因為總中斷是關閉的,所以它們當時都得不到響應,而當總中斷再次使能后,它們就會在同時請求響應了。

很明顯,這時也必需有個先后順序才行,這就是非搶占優先級的作用了——如表3中,誰優先級最高先響應誰,然后按編號排隊,依次得到響應。

搶占優先級和非搶占優先級的協同,可以使單片機中斷系統有條不紊的工作,既不會無休止的嵌套,又可以保證必要時緊急任務得到優先處理。在后續的學習過程中,中斷系統會與我們如影隨形,處處都有它的身影,隨著學習的深入,相信你對它的理解也會更加的深入。

END

審核編輯 :李倩

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

    關注

    6042

    文章

    44617

    瀏覽量

    637527
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120933

原文標題:一文讀懂單片機里的“中斷”優先級

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機中斷機制

    單片機中斷機制是一種重要的處理方式,它允許單片機在執行主程序的過程中,能夠暫停當前任務,轉而處理外部或內部緊急事件。這種機制極大地提高了系統的響應速度和處理能力,使得單片機在各種應用
    的頭像 發表于 10-17 18:03 ?924次閱讀

    freertos中斷優先級在哪設置

    FreeRTOS是一個流行的實時操作系統,它廣泛應用于嵌入式系統開發。在FreeRTOS中,中斷優先級是一個重要的概念,因為它決定了中斷處理的順序和響應時間。 1. 理解中斷
    的頭像 發表于 09-02 14:17 ?750次閱讀

    ESP32S2如何設置中斷優先級

    ESP32S2有六中斷, 如何設置中斷優先級? 比如在GPIO例程 ,這種中斷
    發表于 06-21 07:59

    請問有什么方法降低WIFI中斷優先級

    因為項目對時序輸出要求比較嚴格,WIFI中斷優先級比硬件定時器中斷優先級要高,在定時器中斷里面對GPIO管腳控制被延長執行,請問有什么方法降
    發表于 06-19 07:37

    如何在不同優先級安裝相同的處理程序?

    在不同的優先級中安裝相同的處理程序? 我需要一個解決方案,在不同的優先級中安裝相同的處理程序(ISR),以便在我的項目中處理 CAT2 中斷,但我不能上傳項目,因為我簽署了 NDA。
    發表于 05-28 08:13

    systick的中斷優先級是否應該設置為最高優先級的嵌套中斷

    最近在學習ucosii有這樣一個疑問,關于stm32的systick作為ucosii的基準時鐘,systick的中斷優先級是否應該設置為最高優先級的嵌套中斷。理由是什么?各位大俠求指教
    發表于 05-16 06:44

    stm32的中斷優先級分組了之后還能改分組嗎?

    如標題所示,stm32的中斷優先級分組了之后還能改分組嗎? 比如我要使用外部中斷EXIT2,3,我在配置的時候配置了優先級分組2組,然后配置了EXIT2,3,如果我下面又想開外部
    發表于 05-13 08:40

    創建了兩個task如果一個優先級高 一個優先級低,高優先級的那個一直在做,什么時候會調度到低優先級的呢?

    創建了兩個task如果一個優先級高一個優先級低, 我看到任務的函數都是用死循環做的,那個高優先級的那個一直在做,什么時候會調度到低優先級的呢?
    發表于 05-13 07:13

    STM8中斷優先級不夠怎么解決?

    STM8L 中,中斷優先級通過下面函數設置,但此處僅 ITC_PriorityLevel_1,ITC_PriorityLevel_2,ITC_PriorityLevel_3總共才3個中斷優先級
    發表于 05-06 06:54

    求助,關于stm32F4中斷優先級0無法搶占的問題求解

    搶占優先級具有最高優先級別。 現在我使用兩個定時器: 1)TIM2設置優先級為0,TIM4設置優先級為1 2)若先啟動TIM4,延時一下再啟動TIM2(為了先觸發定時器4
    發表于 04-23 07:26

    如何停止或取消單片機中斷處理?

    處理器中的NVIC能夠處理多個可屏蔽中斷通道和可編程優先級中斷輸入請求可以是電平觸發,也可以是最小的一個時鐘周期的脈沖信號。
    發表于 04-15 11:05 ?1492次閱讀
    如何停止或取消<b class='flag-5'>單片機</b>的<b class='flag-5'>中斷</b>處理?

    嵌入式環境的中斷調試步驟操作

    確保問題中斷優先級設置正確。它應該高于正常工作的中斷優先級,但低于任何應該優先于它的中斷
    發表于 04-09 10:41 ?395次閱讀

    STM32F103的寄存器NVIC_IPRx搶占優先級和子優先級是怎么設置的?

    STM32F103的寄存器NVIC_IPRx有些不明白,搶占優先級和子優先級是怎么設置的? 如果,中斷分組2,搶占優先級3,子優先級3
    發表于 03-27 07:48

    嵌入式C語言中斷調試步驟

    確保問題中斷優先級設置正確。它應該高于正常工作的中斷優先級,但低于任何應該優先于它的中斷
    的頭像 發表于 03-26 12:20 ?739次閱讀

    Hightec對芯片中斷優先級分配時,中斷號越高中斷優先級越高嗎?

    請問大佬,Hightec對芯片中斷優先級分配時,中斷號越高中斷優先級越高嗎?看網上的帖子說中斷
    發表于 02-27 06:13
    主站蜘蛛池模板: 三级全黄的视频在线观看 | 伊人亚洲综合网色 | 国产 精品 亚洲 欧美 高清 | 亚洲字幕在线观看 | 高清国产免费观看视频在线 | 91精品在线国产 | 综合一区无套内射中文字幕 | 特污兔午夜影视院 | 天天躁日日躁狠狠躁AV麻豆 | 亚洲成人在线免费 | 色色色999 | 久久亚洲AV成人无码国产漫画 | 精品午夜视频 | 亚洲国产韩国欧美在线不卡 | 囚禁固定在调教椅上扩张H 秋霞最新高清无码鲁丝片 秋霞在线看片无码免费 | 我与旗袍老师疯狂床震 | 清冷受被CAO的合不拢 | 一本之道高清视频在线观看 | 超级乱淫片午夜电影网99 | 自拍黄色片 | 99久久精品免费看国产一区二区三区 | 亚洲午夜精品一区二区公牛电影院 | 无码一区二区三区 | 绝对诱惑在线试听 | 中文无码有码亚洲 欧美 | 亚洲精品天堂在线 | 我强进了老师身体在线观看 | 九九热视频免费观看 | 亚洲国产成人在线视频 | 双性被疯狂灌满精NP | 无羞耻肉动漫在线观看 | 我的奶头被客人吸的又肿又红 | 欧美xxxav| 亚洲H成年动漫在线观看不卡 | jizz女学| 好男人好资源在线观看免费视频 | 久久中文字幕免费高清 | 亚洲欧美日韩高清专区 | 亚洲国产成人私人影院 | 牛牛免费视频 | 国产精品私人玩物在线观看 |