STM32F207外部中斷實驗

2021-10-10 23:13:57 字數 1485 閱讀 1132

stm32的每個io口都可以作為外部中斷輸入。

gpiox.0對映到exti0,gpiox.1對映到exti1,……同乙個時間只能有乙個io口對映到中斷線。

對於每乙個中斷線,可以設定相應的觸發方式(上公升沿觸發、下降沿觸發、邊沿觸發)和使能。

io外部中斷在中斷向量表中只分配了7個中斷向量,也就是只能使用7個中斷服務函式

總共分為三步:

第一步對映到中斷線,第二部選擇中斷觸發方式,第三步設定中斷服務函式

外部中斷的配置步驟:

初始化io口作為輸入(可以綁到按鈕上)

gpio_init()

開啟io口復用時鐘 rcc_apb2periphclockcmd()

設定io口與中斷線的對映關係 gpio_extilineconfig()

初始化線上中斷,設定觸發條件exit_init()

配置中斷分組(nvic),並使能中斷nvic_init()

編寫中斷服務函式extix_irqhandler()

清除中斷標誌位exti_clearitpendingbit()

#include

#include

"sysinit.h"

#include

"led.h"

/**外部中斷實驗

**/int

main()

}/***********************************粗延時函式*************************************/

vu16 delay_ms

(vu16 count)

return count;

}/***********************************外部中斷函式*************************************/

void exti1_irqhandler (

void

)//結束的時候必須手動清零

exti_clearitpendingbit

(exti_line1)

;}

STM32F207管腳對映配置PWM輸出筆記

已親測,可以實現。第一步 配置相關管腳輸出,比如我的是配置到pb9,使用的是定時器4的第四通道。void pwm gpio config void 第二步 配置定時器。2.配置定時器 首先是像51微控制器一樣需要給出定時器乙個初始值。而stm32的時鐘比51的複雜。我們的stm32的定時器4使用的是...

STM32F207下的實驗(1) CAN通訊基礎

can控制器通過兩根線上的電位差來判斷匯流排電平 can.h can.h include stm32f2xx.h ifndef can h define can h void can mode config u8 can bs1 xtq,u8 can bs2 ytq,u16 prescaler u8...

stm32外部中斷實驗

外部中斷0服務程式 void extix init void 外部中斷0服務程式 void exti0 irqhandler void exti clearitpendingbit exti line0 清除line0上的中斷標誌位 外部中斷2服務程式 void exti2 irqhandler v...