91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

單片機里的“中斷”優(yōu)先級

Q4MP_gh_c472c21 ? 來源:技術(shù)讓夢想更偉大 ? 作者:技術(shù)讓夢想更偉大 ? 2022-04-08 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

中斷優(yōu)先級的內(nèi)容,有一般緊急的中斷,有特別緊急的中斷,這取決于具體的系統(tǒng)設(shè)計,這就涉及到中斷優(yōu)先級和中斷嵌套的概念,今天先簡單介紹一下相關(guān)寄存器,不做例程說明。

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

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

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

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

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

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

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

表2:IP——中斷優(yōu)先級寄存器的位描述

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

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

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

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

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

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

表3:中斷查詢序列

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

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

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

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

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

搶占優(yōu)先級和非搶占優(yōu)先級的協(xié)同,可以使單片機中斷系統(tǒng)有條不紊的工作,既不會無休止的嵌套,又可以保證必要時緊急任務(wù)得到優(yōu)先處理。在后續(xù)的學習過程中,中斷系統(tǒng)會與我們?nèi)缬半S形,處處都有它的身影,隨著學習的深入,相信你對它的理解也會更加的深入。

END

審核編輯 :李倩

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

    關(guān)注

    6076

    文章

    45500

    瀏覽量

    670665
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5609

    瀏覽量

    130017

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    LTC4420:雙輸入微功耗電源路徑優(yōu)先級器的全方位解析

    LTC4420:雙輸入微功耗電源路徑優(yōu)先級器的全方位解析 在電子設(shè)備的電源管理領(lǐng)域,確保在各種電源狀況下為關(guān)鍵電路提供穩(wěn)定的電力供應至關(guān)重要。LTC4420 作為一款雙輸入單片式 PowerPath
    的頭像 發(fā)表于 02-09 10:20 ?105次閱讀

    一文說透了如何實現(xiàn)單片機的多任務(wù)并發(fā)!

    在嵌入式系統(tǒng)開發(fā)中,多任務(wù)并發(fā)是非常常見的,對于處理復雜的應用場景、提升系統(tǒng)的并發(fā)能力、提高系統(tǒng)的實時性等方面都有很大好處。在單片機中實現(xiàn)多任務(wù)并發(fā)是非常重要的,本文將為大家介紹如何在單片機中實現(xiàn)
    發(fā)表于 01-06 06:46

    CW32學習筆記,通用異步收發(fā)器之中斷接收

    存在于單片機內(nèi)核里面的一塊數(shù)字電路,這一塊電路的功能就是用來管理中斷的。對于一些老舊型號的單片機,比如C51單片機,他內(nèi)部也有這個東西,只不過其中斷
    發(fā)表于 12-12 07:45

    CS32L010系列能否支持串口的發(fā)送和接收中斷單獨配置?不同中斷中斷優(yōu)先級如何設(shè)置?

    1、串口能否配置成阻塞式發(fā)送和中斷式接收。 2、不同中斷中斷優(yōu)先級如何設(shè)置?我在開啟中斷函數(shù)代碼中看到說
    發(fā)表于 12-10 18:46

    搶占優(yōu)先級和子優(yōu)先級

    關(guān)于搶占優(yōu)先級和子優(yōu)先級: 1)具有高搶占式優(yōu)先級中斷可以在具有低搶占式優(yōu)先級中斷服務(wù)程序執(zhí)
    發(fā)表于 12-03 07:11

    電能質(zhì)量在線監(jiān)測裝置的暫態(tài)數(shù)據(jù)補傳的優(yōu)先級如何在實際應用中進行動態(tài)調(diào)整?

    電能質(zhì)量在線監(jiān)測裝置的暫態(tài)數(shù)據(jù)補傳優(yōu)先級在實際應用中通過 事件驅(qū)動、主站指令、資源狀態(tài)感知和動態(tài)策略調(diào)整 等多層機制實現(xiàn)靈活調(diào)控,確保關(guān)鍵數(shù)據(jù)的實時性與可靠性。以下是具體實現(xiàn)方式和典型場景的動態(tài)調(diào)整
    的頭像 發(fā)表于 11-06 14:10 ?281次閱讀

    電能質(zhì)量在線監(jiān)測裝置的暫態(tài)數(shù)據(jù)補傳的優(yōu)先級是怎樣的?

    電能質(zhì)量在線監(jiān)測裝置的暫態(tài)數(shù)據(jù)補傳優(yōu)先級設(shè)計遵循 事件驅(qū)動、主站指令優(yōu)先、資源動態(tài)分配 的原則,結(jié)合行業(yè)標準和設(shè)備機制,形成以下多層級優(yōu)先級體系: 一、最高優(yōu)先級:緊急事件驅(qū)動補傳 1
    的頭像 發(fā)表于 11-06 14:02 ?312次閱讀

    優(yōu)先級線程無法調(diào)度怎么解決?

    1,設(shè)置了3,5,6,8幾個優(yōu)先級,設(shè)備在現(xiàn)場正常運行了一年多后,顯示、前端、后端這3個低優(yōu)先級線程異常了,表現(xiàn)為屏幕不動,前端采集數(shù)據(jù)沒有變化等,其他高優(yōu)先級的線程如通訊,按鍵都能正常運行,通訊有喂狗操作,停止通訊,會看門狗復
    發(fā)表于 09-25 07:33

    什么是RTOS中的優(yōu)先級反轉(zhuǎn)

    當一個高優(yōu)先級任務(wù)正在等待一個資源,但一個低優(yōu)先級任務(wù)正在持有它,一個中等優(yōu)先級任務(wù)繼續(xù)在中間運行時,就會發(fā)生優(yōu)先級反轉(zhuǎn)——阻止低優(yōu)先級任務(wù)
    的頭像 發(fā)表于 09-09 14:50 ?1012次閱讀

    求助,關(guān)于MS51設(shè)置中斷優(yōu)先級問題求解

    我確實發(fā)現(xiàn)在庫代碼和 TRM 之間設(shè)置中斷優(yōu)先級有一些差異,如下圖所示。 Could you check what's wrong with me?
    發(fā)表于 08-25 07:01

    揭秘!基于RT-Thread探究“優(yōu)先級反轉(zhuǎn)”下的任務(wù)調(diào)度究竟是什么樣的?| 技術(shù)集結(jié)

    本文將基于RT-Thread,結(jié)合RT-Trace調(diào)試器細化到實際任務(wù)調(diào)度的粒度,來調(diào)試并逐步講解“優(yōu)先級反轉(zhuǎn)”的調(diào)度和運行邏輯。如果對RT-Trace感興趣的可以看這篇文章:國產(chǎn)嵌入式調(diào)試器之光
    的頭像 發(fā)表于 08-17 10:07 ?3285次閱讀
    揭秘!基于RT-Thread探究“<b class='flag-5'>優(yōu)先級</b>反轉(zhuǎn)”下的任務(wù)調(diào)度究竟是什么樣的?| 技術(shù)集結(jié)

    請問STM32的內(nèi)部Flash操作是不是優(yōu)先級最高?

    STM32的內(nèi)部Flash操作是不是優(yōu)先級最高?目前在內(nèi)部Flash的單獨一頁存儲了數(shù)據(jù),發(fā)現(xiàn)在進行頁擦除的時候正常工作的定時器中斷無法進入了
    發(fā)表于 08-13 07:03

    TLe9893怎么調(diào)整外設(shè)的中斷優(yōu)先級?

    你好林工,我該怎么調(diào)整外設(shè)的中斷優(yōu)先級?是否可以通過工具調(diào)整?默認設(shè)置下,是不是Brdv的在中斷優(yōu)先級高于T20和can?
    發(fā)表于 08-01 06:20

    請問C0系列單片機中斷優(yōu)先級只有4嗎?

    C0系列單片機中斷優(yōu)先級只有4?C071在配置的時候只能配置0-3
    發(fā)表于 07-23 08:00

    CyU3PDebugPrint的最高優(yōu)先級和最低優(yōu)先級是什么?

    [i]CyU3PDebugPrint的最高優(yōu)先級和最低優(yōu)先級是什么?
    發(fā)表于 05-13 08:22