STM32中斷與事件的區別

2021-07-03 12:34:19 字數 1104 閱讀 2269

事件是中斷的觸發源,開放了對應的中斷遮蔽位,則事件可以觸發相應的中斷。 

事件還是其它一些操作的觸發源,比如dma,還有tim中影子暫存器的傳遞與更新;

簡單點就是中斷一定要有中斷服務函式,但是事件卻沒有對應的函式.

但是事件可以觸發其他關聯操作,比如觸發dma,觸發adc取樣等.

可以在不需要cpu干預的情況下,執行這些操作.

中斷則必須要cpu介入. 、

中斷和事件的產生源都可以是一樣的! 

之所以分成2個部分,由於中斷是需要cpu參與的,需要軟體的中斷服務函式才能完成中斷後產生的結果; 

但是事件,是靠脈衝發生器產生乙個脈衝,進而由硬體自動完成這個事件產生的結果,當然相應的聯動部件需要先設定好,比如引起dma操作,ad轉換等; 

簡單舉例:外部i/o觸發ad轉換,來測量外部物品的重量; 

如果使用傳統的中斷通道,需要i/o觸發產生外部中斷,外部中斷服務程式啟動ad轉換,ad轉換完成中斷服務程式提交最後結果; 

要是使用事件通道,i/o觸發產生事件,然後聯動觸發ad轉換,ad轉換完成中斷服務程式提交最後結果; 

相比之下,後者不要軟體參與ad觸發,並且響應速度也更塊; 

要是使用事件觸發dma操作,就完全不用軟體參與就可以完成某些聯動任務了。 

可以這樣簡單的認為,事件機制提供了乙個完全有硬體自動完成的觸發到產生結果的通道,不要軟體的參與,降低了cpu的負荷,節省了中斷資源,提高了響應速度(硬體總快於軟體),是利用硬體來提公升cpu晶元處理事件能力的乙個有效方法

2  事件與中斷

事件:是表示檢測到某一動作(電平邊沿)觸發事件發生了。

中斷:有某個事件發生並產生中斷,並跳轉到對應的中斷處理程式中。

事件可以觸發中斷,也可以不觸發

中斷有可能被更優先的中斷遮蔽,事件不會

事件本質上就是乙個觸發訊號,是用來觸發特定的外設模組或核心本身(喚醒).

事件只是乙個觸發訊號(脈衝),而中斷則是乙個固定的電平訊號

通過上圖的表示,可以明顯看出,藍色是中斷發生,紅色是事件發生,從一到三兩者線路是相同的,然後兩者分開,上公升沿和下降沿用來選擇電平方式,中斷和事件遮蔽暫存器起到相應的開關作用,軟體中斷/事件暫存器只要為1對後面的線路都有作用,掛起請求暫存器主要記錄電平變化!

STM32 中斷與事件

原文 這張圖是一條外部中斷線或外部事件線的示意圖 圖中訊號線上劃有一條斜線 旁邊標誌 19字樣的注釋 表示這樣的線路共有19套 圖中的藍色虛線箭頭 標出了外部中斷訊號的傳輸路徑 首先外部訊號從編號 1的晶元管腳進入 經過編號 2的邊沿檢測電路 通過編號 3的或門進入中斷掛起請求暫存器 最後經過編號 ...

stm32中斷優先順序 STM32中斷系統

stm32 中斷非常強大,幾乎每個外設都可以產生中斷,因此這裡我們單獨使用一章來介紹它,為後面介紹外設中斷做鋪墊。學習本章可以參考 stm32f10x中文參考手冊 9 中斷和事件章節,cortex m3 權威指南 中文 chpt08 nvic與中斷控制章節。中斷概念 在學習 51 微控制器時,我們就...

STM32中斷巢狀

cortex m3核心支援256個中斷,其中包括16個核心中斷和240個外部中斷,且具有256級的可程式設計中斷設定,而stm32只用了其中一部分。stm32有84個中斷,包括16個核心中斷和68個可遮蔽中斷,具有16級可程式設計中斷優先順序。而我所使用的103系列只有60個可遮蔽中斷。優先順序的判...