轉:STM32 長按、短按、雙擊、三擊算法

原文鏈接:https://blog.csdn.net/qq_48691686/article/details/115222288
key.h文件如下
key.c文件如下
本算法需要注意的問題
1.算法中只有在長按按鍵的狀態(tài)下,才會在松手時,對按鍵狀態(tài)和結果進行清除。別的情況,如雙擊和三擊,可以在調用按鍵的程序中進行按鍵結果清除。
2.在按鍵結構體中,區(qū)分了按鍵的狀態(tài)和結果,這是因為按鍵的狀態(tài)切換后,需要等待如雙擊和三擊的時間間隔才能確定下來,也就是按鍵結果。
3.按鍵狀態(tài)中,把雙擊分為KEY_1_DUBDOW和KEY_1_DOUBLE。目的是為了進行第二次按鍵松手檢測。
4.算法只針對一路按鍵信號的檢測,多路按鍵檢測同一路。
標簽: