介绍
•
中断控制器支持
19
个外部中断
/
事件请求,线
0~15
对应外部
IO
口的输入中断(每个中断
线对应相同数字的 GPIOx ),线 16 连接到 PVD 输出,线 17 连接到 RTC 闹钟事件,线 18
连接到 USB 唤醒事件。
线对应相同数字的 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);
功能: 中断回调函数,可以理解为中断函数具体要响应的动作。
消抖:
按键由于是机械结构,按下的时候难免产生抖动,一般抖动会在按下的时候与松开的时候产生