stm32按键长按短按实现
实现功能:长按开LED1,短按关LED1
前言
为什么查资料,因为不会啊,为什么不会,这还是个问题。。。害,今天有个实例要用到按键的长按短按,刚开始写遇到了一点问题,在这里分享一下!
一、具体实现过程:
1.CUBEMX配置 LED、 KEY、定时器:10ms(选用)、串口(调试打印)
(对这部分配置不熟悉的,可以去看看基础配置,)
2.点击生成代码:
二、具体使用函数:
代码如下(示例):
/*
每10ms进入一次该函数,检查一下引脚状态
可以用定时器,也可以用查询
*/
void Key_scan(void)
{
//1 表示高电平,0表示低电平。低电平时按下
uint8_t val = HAL_GPIO_ReadPin(KEY_GPIO_Port,KEY_Pin);
static uint16_t count=0;
if(!val)//按键按下 记录按下的时间
{
count++;
}
else