STM32之外部中斷

2021-09-25 06:37:16 字數 932 閱讀 2974

首先配置外部中斷的輸入引腳和中斷源:

void lcr_config(void)

選了gpio8作為中斷輸入,中斷源為exti_line8

中斷服務函式由於啟動函式定義:

export  exti9_5_irqhandler         [weak]
故在檔案stm32f10x_it.c(m3為例)中定義了各類中斷服務函式介面

void exti9_5_irqhandler( void )

else

exti_clearitpendingbit(exti_line8);

}

由於exti_line5-9復用乙個中斷介面函式,需要進行判斷,執行服務函式後,要清中斷標誌位。

中斷的優先順序受下函式影響

/* 選擇nvic_prioritygroup_0, 0bit佔先式優先順序,4bit子優先順序*/

nvic_prioritygroupconfig(nvic_prioritygroup_0);

根據該函式選擇的不同,搶占式和響應兩種中斷占得bit位不同,如果佔0bit,則無該型別的中斷,

佔4bit,則該型別的中斷分為16個優先順序,0為優先順序最高 ;

搶占式中斷,高優先順序中斷會打斷低的,響應式則不會。

nvic_initstructure.nvic_irqchannelpreemptionpriority = 0x05; 此為搶占式中斷優先順序設定

nvic_initstructure.nvic_irqchannelsubpriority = 0x01;此為響應式中斷優先順序設定

stm32之外部中斷

外部中斷 事件控制器包含多達 19 個用於產生事件 中斷請求的邊沿檢測器。每根輸入線都可單獨進行配置,以選擇型別 中斷或事件 和相應的觸發事件 上公升沿觸發 下降沿觸 發或邊沿觸發 每根輸入線還可單獨遮蔽。掛起暫存器用於保持中斷請求的狀態線。其中有16條是對應於gpio的 核心中會有乙個nvic 巢...

STM32學習之外部中斷

外部中斷 事件控制器由19 個產生事件 中斷要求的邊沿檢測器組成。每個輸入線可以獨 地配置輸入型別 脈衝或掛起 和對應的觸發事件 上公升沿或下 沿或者雙邊沿都觸發 每個輸入線都可以被獨 的遮蔽。掛起暫存器保持著狀態線的中斷要求。nvic驅動有多種用途 例如使能或者失能irq中斷,使能或者失能單獨的i...

STM32之外部中斷控制

一 stm32外部中斷 1 stm32外部中斷結構圖 如上圖所示 主要包括四個環節,gpio afio exti nvic。以stm32f103ve 100腳 為例說明硬體模組的數量 gpio 80個 afio選擇通道 16個 外部中斷線exti 16 3 19個 nvic 1個 2 exti控制器...