介紹
•中斷控制器支持 19 個外部中斷/事件請求,線 0~15 對應外部 IO 口的輸入中斷(每個中斷
線對應相同數字的 GPIOx),線 16 連接到 PVD 輸出,線 17 連接到 RTC 鬧鐘事件,線 18
連接到 USB 喚醒事件。
•因為中斷線每次只能連接到 1 個 IO 口,所以需要配置中斷線連接到哪一個 GPIO 上
原理(設置IO口):
LED燈設置:
引腳電平設置 高/低
GPIO模式 推輓輸出/開漏輸出
電阻 上拉/下拉/無
引腳速度 低/中/高速
用户標籤
按鍵設置:
GPIO_EXIT的6種模式:
•上升沿觸發外部中斷
•下降沿觸發外部中斷
•上升/下降沿觸發外部中斷
•上升沿觸發外部事件
•下降沿觸發外部事件
•上升/下降沿觸發外部事件
常用函數:
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功能:讀取引腳的電平狀態、函數返回值為0或1
void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
功能:引腳寫入0或1
void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
功能:翻轉引腳的電平狀態
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
功能: 中斷回調函數,可以理解為中斷函數具體要響應的動作。
消抖:
按鍵由於是機械結構,按下的時候難免產生抖動,一般抖動會在按下的時候與鬆開的時候產生