5状态开关修bug

This commit is contained in:
godcreator 2024-01-23 23:34:19 +08:00
parent 204ae0ab2a
commit 4858335e33
3 changed files with 8 additions and 3 deletions

View File

@ -31,7 +31,7 @@ static void step(KeyFSM* pFSM){
KeyFSMData * data = pFSM->base.data; KeyFSMData * data = pFSM->base.data;
printf(" 信号:%d", data->out); printf(" 信号:%d, 计数%d", data->out, data->countDelay);
} }
static void initData(KeyFSM *pFSM){ // 必须重新实现 static void initData(KeyFSM *pFSM){ // 必须重新实现
@ -40,6 +40,7 @@ static void initData(KeyFSM *pFSM){ // 必须重新实现
data->countMultiDown = 0; data->countMultiDown = 0;
data->in = Up; data->in = Up;
data->out = Idle; data->out = Idle;
data->isLastHolding = 0;
pFSM->base.data = data; pFSM->base.data = data;
} }

View File

@ -208,6 +208,7 @@ const static char *eventStr[] = {
"PhsicalDown", "PhsicalDown",
"PhsicalUp", "PhsicalUp",
"DelayCount5", "DelayCount5",
"HoldCount10",
}; };
static void printFSM(KeyFSM* pFSM){ static void printFSM(KeyFSM* pFSM){
printf("\tKeyFSM: "); printf("\tKeyFSM: ");

7
main.c
View File

@ -3,7 +3,7 @@
#include "keyFSM.h" #include "keyFSM.h"
#include "FSM_public.h" #include "FSM_public.h"
#define NUM 40 #define NUM 60
// KeyIn testin[NUM] = { // KeyIn testin[NUM] = {
// Up,Up,Up,Up,Up, Up,pDown,pDown,pDown,Up, pDown,pDown,pDown,pDown,pDown, // Up,Up,Up,Up,Up, Up,pDown,pDown,pDown,Up, pDown,pDown,pDown,pDown,pDown,
// pDown,pDown,pDown,Up,Up, pDown,pDown, // pDown,pDown,pDown,Up,Up, pDown,pDown,
@ -11,7 +11,10 @@
KeyIn testin[NUM] = { KeyIn testin[NUM] = {
Up,Up,pDown,pDown,Up, Up,Up,pDown,pDown,Up,
pDown,pDown,pDown,pDown,pDown, pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown,
Up,Up,Up,Up,Up,
pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown, pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown, pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown, pDown,pDown,pDown,pDown,pDown,