標(biāo)題: stm32外部中斷實驗EXTI(pdf教程文檔下載) [打印本頁]

作者: k佛說k    時間: 2018-4-26 16:31
標(biāo)題: stm32外部中斷實驗EXTI(pdf教程文檔下載)
STM32 中斷控制線支持 19個外部中斷 /事件請求,每個中斷都有對應(yīng)狀態(tài)位和獨立的觸發(fā)與屏蔽設(shè)置。 STM32F103的 19個外部中斷為:
線 0-15:對應(yīng) GPIO口的輸入中斷。
線 16:連接到 PVD 輸出(掉電檢測,掉電時可立即保存重要數(shù)據(jù)作用 )。
線 17:連接 RTC鬧鐘事件。
線 18:連接到 USB 喚醒事件。
每個 IO 口都可作為外部中斷輸入口的 STM32 的 IO 口遠(yuǎn)多于 16個,而 IO 口使用的中斷線只有 16個。為此,GPIO管腳 GPIOx.0~GPIOx.15(X=A,F,G)分別對應(yīng)中斷線 0-15.這 樣 每 個 中 斷 線 對 應(yīng) 了 7 個 IO 口 。 如 線 0 對 應(yīng) 著
GPIOA.0,GPIOB.0,GPIOC.0,GPIOD.0,GPIOE.0,GPIOF.0,GPIOG .0 但是每個中斷線每次只能連接到 1 個 IO 口上。


GPIO 與中斷映射配置通過函數(shù)來實現(xiàn)
void GPIO_EXTILineConfig  ( uint8_t  GPIO_PortSource,
uint8_t  GPIO_PinSource
)
例如:
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE , GPIO_PinSource2);
即外部中斷線 2 就和 GPIOE 映射起來了,顯然是 GPIOE.2與 EXTI2 中斷線連接
起來了。
接著需設(shè)置中斷觸發(fā)方式:
void EXTI_Init  ( EXTI_InitTypeDef  *  EXTI_InitStruct )
例如:
EXTI_InitTypeDef  EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line=EXTI_Line4;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
以上例子設(shè)置了中斷線 line4 的中斷為下降沿觸發(fā)。
設(shè)置好了中斷線和 GPIO 的映射關(guān)系,然后又設(shè)置好了中斷的觸發(fā)模式等參數(shù)。
既然是外部中斷,設(shè)計到中斷我們當(dāng)然需要設(shè)置 NVCI 的中斷優(yōu)先級。


完整的pdf格式文檔51黑下載地址(共3頁):
STM32之外部中斷EXTI.pdf (165.37 KB, 下載次數(shù): 17)



作者: aestest    時間: 2018-4-28 16:29
學(xué)習(xí)了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1