介紹

•中斷控制器支持 19 個外部中斷/事件請求,線 0~15 對應外部 IO 口的輸入中斷(每個中斷
線對應相同數字的 GPIOx),線 16 連接到 PVD 輸出,線 17 連接到 RTC 鬧鐘事件,線 18
連接到 USB 喚醒事件。

•因為中斷線每次只能連接到 1 個 IO 口,所以需要配置中斷線連接到哪一個 GPIO 上

st語言IMPLEMENTS_引腳

st語言IMPLEMENTS_引腳_02

 原理(設置IO口):

st語言IMPLEMENTS_引腳_03

 LED燈設置:

引腳電平設置   高/

GPIO模式  推輓輸出/開漏輸出

電阻  上拉/下拉/

引腳速度  低//高速

用户標籤

st語言IMPLEMENTS_#stm32_04

 按鍵設置:

GPIO_EXIT6種模式:

上升沿觸發外部中斷

下降沿觸發外部中斷

上升/下降沿觸發外部中斷

上升沿觸發外部事件

下降沿觸發外部事件

上升/下降沿觸發外部事件

st語言IMPLEMENTS_st語言IMPLEMENTS_05

 

st語言IMPLEMENTS_#嵌入式硬件_06

常用函數:

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

功能:讀取引腳的電平狀態、函數返回值為01

void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

功能:引腳寫入01

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

功能:翻轉引腳的電平狀態

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

功能:  中斷回調函數,可以理解為中斷函數具體要響應的動作。

消抖:

按鍵由於是機械結構,按下的時候難免產生抖動,一般抖動會在按下的時候與鬆開的時候產生

st語言IMPLEMENTS_#單片機_07

消抖函數和主函數: 

st語言IMPLEMENTS_#stm32_08