• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32單片機(jī)的中斷機(jī)制

    STM32單片機(jī)的中斷機(jī)制

    作者: 時間:2013-02-22 來源:網(wǎng)絡(luò) 收藏

    1.jpg

    這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套。

    圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進(jìn)入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進(jìn)入中斷“掛起請求寄存器”,最后經(jīng)過編號4的與門輸出到NVIC中斷控制器;在這個通道上有4個控制選項(xiàng),外部的信號首先經(jīng)過邊沿檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因?yàn)檫x擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了。

    接下來是編號3的或門,這個或門的另一個輸入是“軟件中斷/事件寄存器”,從這里可以看出,軟件可以優(yōu)先于外部信號請求一個中斷或事件,既當(dāng)“軟件中斷/事件寄存器”的對應(yīng)位為“1”時,不管外部信號如何,編號3的或門都會輸出有效信號。

    一個中斷或事件請求信號經(jīng)過編號3的或門后,進(jìn)入掛起請求寄存器,到此之前,中斷和事件的信號傳輸通路都是一致的,也就是說,掛起請求寄存器中記錄了外部信號的電平變化。

    外部請求信號最后經(jīng)過編號4的與門,向NVIC中斷控制器發(fā)出一個中斷請求,如果中斷屏蔽寄存器的對應(yīng)位為“0”,則該請求信號不能傳輸?shù)脚c門的另一端,實(shí)現(xiàn)了中斷的屏蔽。

    明白了外部中斷的請求機(jī)制,就很容易理解事件的請求機(jī)制了。圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進(jìn)入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器把一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊。

    在這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件是沒有分別的,只是在芯片內(nèi)部分開,一路信號會向CPU產(chǎn)生中斷請求,另一路信號會向其它功能模塊發(fā)送脈沖觸發(fā)信號,其它功能模塊如何相應(yīng)這個觸發(fā)信號,則由對應(yīng)的模塊自己決定。

    在圖上部的APB總線和外設(shè)模塊接口,是每一個功能模塊都有的部分,CPU通過這樣的接口訪問各個功能模塊,這里就不再贅述了。



    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 张家港市| 稻城县| 独山县| 金门县| 潼关县| 湘乡市| 山东省| 阿坝| 伊春市| 县级市| 同德县| 孝感市| 商河县| 泸定县| 志丹县| 安宁市| 韶关市| 凤台县| 西安市| 永丰县| 贵州省| 万载县| 略阳县| 象山县| 德保县| 茂名市| 扶沟县| 蒲江县| 芦山县| 红安县| 宜兴市| 巴马| 乌拉特前旗| 谢通门县| 双辽市| 宁国市| 天峻县| 托里县| 洛阳市| 黔西县| 潞西市|