|
小白求助,在按键FIFO移植问题发现一个疑惑,我现在想要 按下蓝灯亮 松手蓝灯熄灭 长按红灯亮(只要被判断是长按了,就一直红灯亮,直到松手), 问题是长按后确实红灯亮了(长按状态成功),可是马上又变成蓝灯亮了(按下状态),然后发现可以通过改变设定的时间阈值来保持(长按状态),不知道有没有什么方法可以实现只要被判断是长按了,就一直红灯亮,直到松手
switch (ucKeyCode)
{
case KEY_DOWN_K1:
printf("K1¼ü°′ÏÂ\r\n");
HAL_GPIO_WritePin(GPIOH,GPIO_LED_B_PIN,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOH,GPIO_LED_G_PIN,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOH,GPIO_LED_R_PIN,GPIO_PIN_RESET); //蓝灯亮
break;
case KEY_UP_K1:
printf("K1¼üμˉÆe\r\n");
HAL_GPIO_WritePin(GPIOH,GPIO_LED_B_PIN,GPIO_PIN_RESET); //蓝灯熄灭
HAL_GPIO_WritePin(GPIOH,GPIO_LED_G_PIN,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOH,GPIO_LED_R_PIN,GPIO_PIN_RESET);
break;
case KEY_1_LONG: /*K1¼ü3¤°′ */
printf("K1¼ü3¤°′\r\n");
HAL_GPIO_WritePin(GPIOH,GPIO_LED_R_PIN,GPIO_PIN_SET); // 红灯熄灭
HAL_GPIO_WritePin(GPIOH,GPIO_LED_B_PIN,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOH,GPIO_LED_G_PIN,GPIO_PIN_RESET);
bsp_SetKeyParam(KID_K1, 100, 1000);
是设定标志位吗,具体怎么设置还是有什么更适合的方法,ADC扫描读取 io 电平?
|
|