stm32F429中斷優先順序相關知識

2021-07-22 12:29:09 字數 760 閱讀 6840

最近用到f429比較多,故對相關中斷知識點作下梳理,隨時更行。。。

1>.systick的優先順序到底比外設高還是低呢?

1、只要核心的優先順序可以配置,那麼核心的優先順序就不是一定比外設的高,而是要先比較軟體優先順序,如果軟體優先順序一樣,那麼就比較他們的硬體的中斷編號,編號就是在中斷向量表中的位置,越小,優先順序越高。

2、以systick為例,在systick的韌體庫初始化函式:systick_config(uint32_t ticks) 中,呼叫了nvic_setpriority (systick_irqn, (1<<__nvic_prio_bits) - 1); ,這裡面把 systick的 優先順序配置為 :1<<4-1 = 15,這裡面的4是因為stm32 使用4個位來配置中斷優先順序。

3、那麼問題來了,這裡systick的中斷優先順序配置成15,應該是最低的,那跟外設來比,那是systick的優先順序比外設是高還是低?  這個得看 外設 配置 中斷優先順序時的優先順序分組。

4、如果分組為 2,那搶占優先順序和子優先順序各有2個位表示優先順序,搶占的取值範圍為0~3,子優先順序的取值範圍為:0~3。那這時systick的優先順序15,該怎麼對比,只需要把15轉換成二進位制:1111,這四位同樣受優先順序分組的控制,即前兩位表示搶占優先順序,那就是3,後兩位表示子優先順序,也是3。在分組2裡面都是最低的。如果你的外設也配置成組2,主和子優先順序配置的不是3,那就肯定比systick的優先順序高。

5、核心的優先順序並非一定比外設的優先順序高,只要你的優先順序可以配置。

stm32中斷優先順序

cm3 核心支援 256 個中斷,stm32 並沒有使用 cm3 核心的全部只用了它的一部分。stm32 有 84 個中斷,包括 16 個核心中斷和 68 個可遮蔽中斷,stm32f103 系列上面只有 60 個 107 系列才有 68 個 下面針對stm32f103 系列說明。與 nvic 相關的...

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

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

STM32 中斷 優先順序設定

stm32中斷 優先順序設定 記性老差,前邊熟悉的東西,轉眼又忘了。今又翻開以前的筆記,重溫記錄如下 參考 記不清楚了 一 中斷優先順序概念 stm32 cortex m3 中有兩個優先順序的概念 搶占式優先順序和響應優先順序,有人把響應優先順序稱作 亞優先順序 或 副優先順序 每個中斷源都需要被指...