Stm32 外部中斷EXTI使用說明

2021-07-16 10:51:54 字數 1452 閱讀 1918

硬體情況:採用pa11管腳

需要明確的是,pxn管腳共用外部中斷線extin和外部中斷向量extin_irqn和中斷服務程式入口extin_irqhandler,但是需要注意的是[9...5]共用exti9_5_irqn和exti9_5_irqhandler、[15...10]共用exti15_10_irqn和exti15_10_irqhandler

基本過程:

rcc_apb2periphclockcmd(rcc_apb2periph_gpioa | rcc_apb2periph_afio, enable);
注意需要開啟afio時鐘

gpio_initstructure.gpio_pin = gpio_pin_11;

gpio_initstructure.gpio_mode = gpio_mode_in_floating;

gpio_initstructure.gpio_speed = gpio_speed_50mhz;

gpio_init(gpioa, &gpio_initstructure);

採用浮空輸入方式

gpio_extilineconfig(gpio_portsourcegpioa, gpio_pinsource11);

相當重要

exti_initstructure.exti_line = exti_line11;

exti_initstructure.exti_mode = exti_mode_interrupt;

exti_initstructure.exti_trigger = exti_trigger_falling;

exti_initstructure.exti_linecmd = enable;

exti_init(&exti_initstructure);

包括觸發方式等等

nvic_inittypedef nvic_initstructure;    

nvic_prioritygroupconfig(nvic_prioritygroup_0);

nvic_initstructure.nvic_irqchannel = exti15_10_irqn; //ppp外部中斷線

nvic_initstructure.nvic_irqchannelsubpriority = 0;

nvic_initstructure.nvic_irqchannelpreemptionpriority = 0;

nvic_initstructure.nvic_irqchannelcmd = enable;

nvic_init(&nvic_initstructure);

void exti15_10_irqhandler(void)

}

STM32 使用EXTI處理外部中斷

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

STM32外部中斷 exti 配置

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

STM32外部中斷

一 基本概念 arm coetex m3核心共支援256個中斷,其中16個內部中斷,240個外部中斷和可程式設計的256級中斷優先順序的設定。stm32目前支援的中斷共84個 16個內部 68個外部 還有16級可程式設計的中斷優先順序的設定,僅使用中斷優先順序設定8bit中的高4位。stm32可支援...