關於STM32微控制器中斷遮蔽後,再有中斷到來的研究

2021-10-25 07:28:54 字數 503 閱讀 5500

問題描述:

現有stm32微控制器,正常狀態下開啟中斷使能,當主迴圈中有些特殊操作需要遮蔽中斷使能,假設此時中斷觸發條件到達,等待一段時間後,中斷使能再次開啟,此次中斷是被丟棄還是直接觸發?

問題驗證:

為了確認此時的處理方式,編寫如下**,進行驗證

(1)初始化串列埠

(2)開啟串列埠傳送接收使能,關閉接收中斷;

(3)使用上位機傳送乙個位元組串列埠資料,確認微控制器已經接收到此位元組資料但未做處理;

(4)開啟串列埠接收中斷;

(5)使用斷點觀察是否可以進入接收中斷處理函式。

經驗證,在開啟串列埠接收中斷後,立即進入了串列埠接收中斷處理函式,因此此遮蔽過程中此中斷不被處理,但是不會消失。

為了分析原因,查晶元手冊,發現有以下描述:

rxneie:1:當ore=1或者rxne=1時,乙個串列埠中斷生成

上述情況下,因為未對dr暫存器操作,因此rxne=1一直保持,當置位it_rxne時,瞬時觸發了接收中斷(自己的分析不知道是否正確)

微控制器學習(一) 微控制器基礎 STM32

io四種輸入工作模式 io四種輸出工作模 stm32有8個16位定時器 stm32具有強大的異常響應系統,它把能夠打斷當前 執行流程的事件分為異常 exception 和中斷 interrupt 並把它們用乙個表管理起來,編號為 3 6的中斷向量定義為系統異常,編號從7到19的為外部中斷。中斷向量控...

微控制器 STM32庫開發

1.stm32庫開發是什麼?st公司推出的基於cortex m3核心的mcu 微控制器,也就是通常所說的微控制器 倡導使用韌體庫開發,僅通過呼叫庫裡面的api 應用程式介面 就可以迅速搭建乙個程式,寫出各種使用者需要的應用。庫開發方式自頂向下,可以避免對底層暫存器的繁瑣操作,能大大降低學習門檻和開發...

stm32mcuid規則 STM32微控制器命名規則

stm32 系列微控制器命名規則 stm32 f 103 c 8 t 6 1 2 3 4 5 6 7 8 產品系列名 固定為 stm32 和 產品系列 f 通用系列 0xx 入門級 mcu0x0 超值系列在傳統 位和位市場極具競爭力 0x1 實現了高度的功能整合,提供多種儲存容量和封裝的選擇,為成本...