精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

中斷和異常?傻傻分不清楚

冬至子 ? 來源:嵌入式BugMaker ? 作者:BugMaker ? 2023-08-10 11:18 ? 次閱讀

在一段時間里,我都認為中斷與異常沒有很明顯的區別,因為表現出來都是當前運行中的程序被打斷,然后執行中斷向量表中的函數,但是其實這兩個還是有區別的。

中斷和異常分別屬于CPU的外因和內因。例如CAN接收中斷、GPIO邊沿觸發中斷都屬于中斷范疇;而算數溢出、訪問地址越界、除0等導致的則屬于異常。

圖片

舉一個例子來解釋,當你在家玩游戲時,如果此時快遞小哥敲門,你就需要暫停手頭的游戲簽收一下快遞,這個時候的快遞小哥就屬于是中斷,是屬于外因打斷了你玩游戲;當你繼續玩游戲時,突然你肚子很痛要上廁所,則此時暫停玩游戲就屬于是異常,是屬于自身身體出問題的內因打斷自己玩游戲。

中斷的引入 ——為了支持CPU與設備之間的并行操作

◆當CPU啟動外設進行輸入/輸出后,外設便可以獨立工作,CPU轉去處理其他與此次輸入/輸出不相關的事宜;當外設完成輸入/輸出后,通過向CPU發送中斷報告此次輸入/輸出的結果,讓CPU決定如何處理后續事宜。

異常的引入 ———表示CPU執行指令時本身出現了問題

◆如算術溢出、除零、取數時的奇偶錯,訪存地址時越界或執行了“陷入指令”等,這時硬件改變了CPU當前的運行流程,轉到相應的錯誤處理程序或異常處理程序或執行系統調用

在Cortex-M內核中,有三個中斷屏蔽寄存器,分別是PRIMASK、FAULTMASK、BASEEPRI。如下表所示,通過配置這三個寄存器,可實現對中斷、異常的管理。

圖片

為了控制中斷與異常,Cortex-M內核專門設定了CPS指令,有如下四種用法:

CPSID I ;PRIMASK = 1 ;關中斷

CPSIE I ;PRIMASK = 0 ;開中斷

CPSID F ;FAULTMASK = 1 ;關異常

CPSIE F ;FAULTMASK = 0 ;開異常

I為Interrupt(中斷)、F為Fault(異常)

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

    關注

    145

    文章

    1937

    瀏覽量

    130640
  • 寄存器
    +關注

    關注

    31

    文章

    5325

    瀏覽量

    120054
  • GPIO
    +關注

    關注

    16

    文章

    1196

    瀏覽量

    51935
  • 中斷控制器
    +關注

    關注

    0

    文章

    59

    瀏覽量

    9442
  • Cortex-M
    +關注

    關注

    2

    文章

    227

    瀏覽量

    29733
收藏 人收藏

    評論

    相關推薦

    各位大哥 小弟我攤上事啦!!!求助芯片 ALS1176

    VP1176 和芯片6A1176簡直是傻傻分不清楚呀!!我把要買的芯片本來是買6A1176的,我買成了vp1176我是不是死定了················
    發表于 06-27 16:06

    如果修改默認登錄名和密碼

    RT。。大家都知道登陸用root很方便,但是也給我帶來了困擾。怎么修改它呢?apache2?還是pam.d。傻傻分不清楚
    發表于 07-04 13:30

    請問到底該用哪種方式移植OS_CRITICAL_METHOD?

    如題,傻傻分不清楚,求大神指點!
    發表于 09-10 02:24

    芯片,半導體,集成電路,傻傻分不清楚

    `芯片,半導體,集成電路,傻傻分不清楚?一、什么是芯片芯片,又稱微電路(microcircuit)、微芯片(microchip)、集成電路(integrated circuit, IC),是指內含
    發表于 04-22 11:55

    工業互聯網和工業4.0傻傻分不清楚

    工業互聯網是什么?工業互聯網的網速快嗎?工業互聯網是物聯網概念的重新包裝么?工業互聯網和工業4.0,傻傻分不清楚?工業互聯網已經滲透到了哪些領域?
    發表于 07-12 06:51

    不要再對各種電機、舵機傻傻分不清楚了 精選資料分享

    你是否和木木一樣,想要自己diy一個機器人,卻對電機、舵機、步進電機、伺服電機、數字舵機、模擬舵機、串行總線舵機……一大堆名詞傻傻分不清楚?管你到底是啥,在我這都叫“馬達”,哈哈哈哈哈!如果你也是這樣可可愛愛、沒有腦袋,那么或許你應該抽出幾分鐘時間閱讀一下這篇文章。
    發表于 09-01 08:31

    [ElfBoard]是誰字和字節傻傻分不清楚

    計算機內存結構 —— 位、字節和字 位 我們都知道,計算機存儲數值都以信息的基本單元的組合進行存儲,這個基本單元便是位(bit),我們通常用 0 和 1 來表示位的兩種狀態。 為什么使用 0 和 1 而不是 0、1、2、3、4、5 或者 6、7、8、9、10 等等這樣的數字組合呢? 我們可以想象這樣一種實際情況:我們的計算機歸根結底是一些硬件在進行處理和計算,硬件是需要電流起作用的,電流可以產生高電壓和低電壓,在數字電路中,通常將高電壓視為 1 ,低電壓視為 0 ,因此我們信息存儲的最終形式是一連串 1 和 0 的組合。這種表達形式與我們在邏輯中經常使用 true 和 false 是類似的。 關于計算機為什么能夠讀懂 1 和 0,在這個問題下面有很多非常詳細的回答可以作為參考: 也許上面這個例子還是比較抽象,那么我們還可以想象這樣一種更古老的實際情況:早期的計算機還不具備處理高級語言的能力,程序員們只能將要寫的程序和要處理的數據變成一條條紙帶交給計算機去處理。而紙帶上某個特定位置的狀態是有限的,人們通過在紙帶上打洞還是不打洞來表示 1 和 0 。因此數據通過一連串打洞和不打洞的序列進行表示,即很多 1 和 0 的序列,這種數據表示的思想也一直延續到現在。 字節 通過上面的講解我們也能看到,一個位能表達的信息太少了,因此我們通常將單個的位連接組合起來,組成更大的存儲單元,我們稱這種最小組合單元為一個字節(byte),一個字節由 8 個位構成,它足以用來存儲一個 char 類型的數據。 字 隨著存儲需求的日益增長,在現在大多數計算機中,字節被組合成更大的存儲單位,我們稱為字(word),一個字足以存儲一個 int 類型的數據。現在的大多數計算機要么使用四字節的字,要么使用八字節的字。我們通常所說的 32 位機器或者 64 位機器其實就是指計算機處理器一次能處理的數據大小,32 位即 4 個字節,64 位即 8 個字節。 結論: 一個字等于多少個字節,與系統硬件(總線、cpu命令字位數等)有關,不應該毫無前提地說一個字等于多少位。 正確的說法: ①:1字節(byte) = 8位(bit) ②:在16位的系統中(比如8086微機) 1字 (word)= 2字節(byte)= 16(bit) 在32位的系統中(比如win32) 1字(word)= 4字節(byte)=32(bit) 在64位的系統中(比如win64)1字(word)= 8字節(byte)=64(bit)
    發表于 12-12 13:13

    圖像不清楚與矩陣切換器的關系有哪些?

    圖像不清楚與矩陣切換器的關系有哪些?     設備圖像不清楚主要包括:亮度低、邊緣聚焦不好、重影(
    發表于 04-09 16:43 ?927次閱讀

    科普:石墨烯電池、石墨烯基電池二者有何不同?別傻傻分不清

    很多吃瓜群眾是不是已經對“石墨烯電池”和“石墨烯基電池”傻傻分不清楚了。
    發表于 01-23 15:40 ?5383次閱讀

    芯片、半導體、集成電路還在傻傻分不清楚

    芯片,半導體,集成電路,傻傻分不清楚? 很多人都會有這樣的煩惱,希望今天分享的文章能幫助到大家~一起學習!一起進步! 一、什么是芯片? 芯片,又稱微電路、微芯片、集成電路(integrated
    的頭像 發表于 09-28 17:13 ?3w次閱讀

    別再傻傻分不清楚光纖和網線了

    目前網線和光纖就成為了網絡信號傳輸中最重要的兩種載體,如何選擇你清楚吧?這兩者的區別你了解嗎?下面就看看clan通訊小編的解答吧。
    的頭像 發表于 12-20 09:54 ?6113次閱讀

    教你輕松區分輸入阻抗、特性阻抗、瞬時阻抗

    有時候,發現對各種阻抗傻傻分不清楚,“好記性不如爛筆頭”,那就把它們一個個寫下來。
    的頭像 發表于 03-15 17:20 ?1126次閱讀
    教你輕松區分輸入阻抗、特性阻抗、瞬時阻抗

    強弱電傻傻分不清楚 強電弱電怎么區別-科蘭

    你還傻傻分不清楚強弱電嗎?清點弱電怎么區別您知道嗎?因為高壓而稱之為強電,因為低壓而稱之為弱電嗎?今天科蘭小編將為大家一一解答這些問題,揭開強弱電的神秘面紗。 強電弱電怎么區別? (1)交流頻率
    的頭像 發表于 05-23 10:40 ?2050次閱讀
    強弱電<b class='flag-5'>傻傻</b><b class='flag-5'>分不清楚</b> 強電弱電怎么區別-科蘭

    電源符號,你還傻傻分不清楚

    注意:上面三個電源符號,本質上都是GND,主要是為了PCB走線的需求,有一些單點接地或者多點接地的處理,為了避免干擾,才有所區分。
    的頭像 發表于 07-16 15:31 ?3167次閱讀

    FOSB和FOUP傻傻分不清楚

    如果我們發揮想象,一片一片的wafer(晶圓)在這FAB(晶圓廠)大樂園里搭乘著各種自動化移動工具(比如AGV(無人運載車)、ARM(機械手臂)、OHT(天車)),一會兒去泡個澡(浸泡清洗),一會兒去加工一下,那么,FOSB(前開晶圓運輸盒)、FOUP(前開式晶圓傳送盒)就可以被想象成是它們的搭乘車廂,有的對外移動,有的內部移動,當然也不能忘了還有敞篷式的OPEN CASSETTE(開放式裝載盒)。
    的頭像 發表于 12-22 16:08 ?2.3w次閱讀