<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于stm32的外部中斷與事件的概念

          關(guān)于stm32的外部中斷與事件的概念

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          最近在寫stm32基礎(chǔ)庫的時候,發(fā)現(xiàn)了一個問題,就是外部中斷里,有一個事件寄存器,一直沒有明白是干什么用的。網(wǎng)上查了一下,寫個總結(jié)。




          主要的講,就是在不進入到中斷函數(shù)的情況下,觸發(fā)其他的操作。比如,我希望在外部中斷的時候,去采集ad。那么其他單片機的做法是,在中斷函數(shù)中寫入adc采集。而在這里,只需要將事件寄存器置位,然后在其他外設(shè)寄存器中設(shè)置即可。這樣設(shè)置,當(dāng)外部中斷被觸發(fā)時,則可以不用在中斷函數(shù)中處理adc。直接由事件來驅(qū)動adc采集。


          這張圖是一條外部中斷線或外部事件線的示意圖,圖中信號線上劃有一條斜線,旁邊標(biāo)志19字樣的注釋,表示這樣的線路共有19套.圖中的藍(lán)色虛線箭頭,標(biāo)出了外部中斷信號的傳輸路徑,首先外部信號從編號1的芯片管腳進入,經(jīng)過編號2的邊沿檢測電路,通過編號3的或門進入中斷掛起請求寄存器,最后經(jīng)過編號4的與門輸出到NVIC中斷檢測電路,這個邊沿檢測電路受上升沿或下降沿選擇寄存器控制,用戶可以使用這兩個寄存器控制需要哪一個邊沿產(chǎn)生中斷,因為選擇上升沿或下降沿是分別受2個平行的寄存器控制,所以用戶可以同時選擇上升沿或下降沿,而如果只有一個寄存器控制,那么只能選擇一個邊沿了.

          本文引用地址:http://www.ex-cimer.com/article/201611/324068.htm

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

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

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

          明白了外部中斷的請求機制,就很容易理解事件的請求機制了.圖中紅色虛線箭頭,標(biāo)出了外部事件信號的傳輸路徑,外部請求信號經(jīng)過編號3的或門后,進入編號5的與門,這個與門的作用與編號4的與門類似,用于引入事件屏蔽寄存器的控制;最后脈沖發(fā)生器的一個跳變的信號轉(zhuǎn)變?yōu)橐粋€單脈沖,輸出到芯片中的其它功能模塊.從這張圖上我們也可以知道,從外部激勵信號來看,中斷和事件的產(chǎn)生源都可以是一樣的.之所以分成2個部分,由于中斷是需要CPU參與的,需要軟件的中斷服務(wù)函數(shù)才能完成中斷后產(chǎn)生的結(jié)果;但是事件,是靠脈沖發(fā)生器產(chǎn)生一個脈沖,進而由硬件自動完成這個事件產(chǎn)生的結(jié)果,當(dāng)然相應(yīng)的聯(lián)動部件需要先設(shè)置好,比如引起DMA操作,AD轉(zhuǎn)換等;
          簡單舉例:外部I/O觸發(fā)AD轉(zhuǎn)換,來測量外部物品的重量;如果使用傳統(tǒng)的中斷通道,需要I/O觸發(fā)產(chǎn)生外部中斷,外部中斷服務(wù)程序啟動AD轉(zhuǎn)換,AD轉(zhuǎn)換完成中斷服務(wù)程序提交最后結(jié)果;要是使用事件通道,I/O觸發(fā)產(chǎn)生事件,然后聯(lián)動觸發(fā)AD轉(zhuǎn)換,AD轉(zhuǎn)換完成中斷服務(wù)程序提交最后結(jié)果;相比之下,后者不要軟件參與AD觸發(fā),并且響應(yīng)速度也更塊;要是使用事件觸發(fā)DMA操作,就完全不用軟件參與就可以完成某些聯(lián)動任務(wù)了。

          總結(jié):

          可以這樣簡單的認(rèn)為,事件機制提供了一個完全有硬件自動完成的觸發(fā)到產(chǎn)生結(jié)果的通道,不要軟件的參與,降低了CPU的負(fù)荷,節(jié)省了中斷資源,提高了響應(yīng)速度(硬件總快于軟件),是利用硬件來提升CPU芯片處理事件能力的一個有效方法;



          關(guān)鍵詞: stm32外部中

          評論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();