stm32學習筆記 EXTI

2021-10-04 14:00:57 字數 1965 閱讀 4147

可產生20個軟體外部中斷。

探測低於apb2時鐘週期的外部脈衝。

當上公升沿下降沿和軟體觸發請求時,看中斷和事件的遮蔽器來決定是否進入下一步(可同時產生),若中斷遮蔽器使能則掛起。

exti0-exti15對應gpio引腳的0-15,剩下4位exti對應不同功能。

這裡還指出需要配置afio_exticrx暫存器和使能afio時鐘。

此掛起非nvic中的掛起,此掛起應該是指中斷在執行,nvic中的掛起是指低優先順序中斷掛起巢狀高優先順序中斷),將會一直處於中斷狀態(我認為的)。

swier在pr對應位為0無請求和imr對應位已使能時寫入1將會產生中斷。

//軟體中斷觸發

void

exti_nvic_gpiocompleteconfig

(void);

void

exticonfig

( uint32_t exti_line , extimode_typedef exti_mode , extitrigger_typedef exti_trigger , functionalstate exti_linecmd )

;void

exti_nvic_gpioconfig

( gpio_typedef* gpiox , uint16_t gpio_pin , extimode_typedef exti_mode ,\

extitrigger_typedef exti_trigger , functionalstate exti_linecmd )

;#endif

exticonfig.c

void

exticonfig

( uint32_t exti_line , extimode_typedef exti_mode , extitrigger_typedef exti_trigger , functionalstate exti_linecmd )

void

exti_nvic_gpiocompleteconfig

(void

)//硬體中斷配置

void

exti_nvic_gpiosoftwareconfig

(void

)//軟體中斷配置,比硬體中斷少了gpio相關的操作,呼叫interrupt0直接產生中斷。

stm32f10x_it.c

void

exti0_irqhandler

(void

)}

main.c

int

main()

//軟體中斷使led閃爍

}

歡迎交流指正~~

STM32學習筆記 基礎外設 EXTI

四 為什麼配置中斷功能時要在apb2中使能afio相關功能?五 外部中斷bug總結 配置中斷分組nvic並使用中斷 void nvic exit cfg gpio初始化 void gpio exit cfg 初始化線上中斷,設定觸發條件等 void exti cfg exti2中斷處理函式 void...

STM32外部中斷 exti 配置

在微控制器運用中,exti的使用算是常規操作了。在32微控制器中,exti的每個中斷均可單獨配置來選擇型別 即中斷和事件 以及相應的觸發事件 上公升沿觸發 下降沿觸發 邊沿觸發等 也可以進行單獨遮蔽的操作。如下是32中的exti框圖,其中線路1 2 3 4 5為 中斷 而1 2 3 6 7 8為 事...

STM32 使用EXTI處理外部中斷

使用exti處理外部中斷 1.任務描述 使用開發板上的key1按鍵,達到開 關led彩燈的目的 2.程式設計思路及要點 程式設計思路 檢測gpio中斷,在中斷服務函式裡面,實現開 關led彩燈 程式設計要點 1 初始化用來產生中斷的 gpio 2 初始化 exti 3 配置 nvic 4 編寫中斷服...