STM32的中斷系統(tǒng)理解
STM32中的中斷分為異常和中斷,STM32 目前支持的中斷共為 84 個(16 個內(nèi)核+68 個外部), 16 級可編程中斷優(yōu)先級的設(shè)置(僅使用中斷優(yōu)先級設(shè)置 8bit 中的高 4 位)和16個搶占優(yōu)先級(因為搶占優(yōu)先級最多可以有四位數(shù))。
但我 們 一 般 建 議 從 啟 動 文 件startup_stm32f10x_hd.s 中查找的,因為不同型號的 STM32 芯片,中斷向量表稍微有點區(qū)別,在啟動文件中,已經(jīng)有相應(yīng)芯片可用的全部中斷向量。而且在編寫中斷服務(wù)函數(shù)時,
需要從啟動文件中定義的中斷向量表查找中斷服務(wù)函數(shù)名。STM32 的中斷如此之多,配置起來并不容易,因此我們需要一個強大而方便的中斷控制器 NVIC (Nested Vectored Interrupt Controller)。NVIC 是屬于Cortex 內(nèi)核的器件,不可屏蔽中斷(NMI)和外部中斷都由它來處理,而 SYSTICK 不是由 NVIC 來控制的。