Skip to content

请问一下长按连发只会触发一次是什么原因 #49

@nazisu2020

Description

@nazisu2020

您好,请问一下长按连发只会触发一次是什么原因,其他情况都试过没有问题

button_init(&button1, read_button_GPIO, GPIO_PIN_RESET, btn1_id);
static PressEvent btn1_event_val;
button_start(&button1);

while (1) {
/*轮询读取键值模式*/
        if (btn1_event_val != get_button_event(&button1)) {
            btn1_event_val = get_button_event(&button1);
            switch (btn1_event_val) {
                case SINGLE_CLICK:
                    HAL_GPIO_TogglePin(LED_B_GPIO_Port, LED_B_Pin);
                    break;
                case DOUBLE_CLICK:
                    HAL_GPIO_TogglePin(LED_G_GPIO_Port, LED_G_Pin);
                    break;
                case LONG_PRESS_HOLD:
                    Usart_SendString(&huart2, "KEY1 LONG REPEAT");
                default:
                    break;
            }
        }
}

还有请问一下这几个值修改都是代表什么意思呢,谢谢

#define TICKS_INTERVAL    5	//ms
#define DEBOUNCE_TICKS    3	//MAX 7 (0 ~ 7)
#define SHORT_TICKS       (300 /TICKS_INTERVAL)
#define LONG_TICKS        (1000 /TICKS_INTERVAL)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions