硬體情況:採用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可支援...