From 4858335e3353e86266c99979ab4d060bdf886f90 Mon Sep 17 00:00:00 2001 From: godcreator <974980621@qq.com> Date: Tue, 23 Jan 2024 23:34:19 +0800 Subject: [PATCH] =?UTF-8?q?5=E7=8A=B6=E6=80=81=E5=BC=80=E5=85=B3=E4=BF=AEb?= =?UTF-8?q?ug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FSM_OOP/usr/keyFSM.c | 3 ++- FSM_OOP/usr/keyFSM_private.h | 1 + main.c | 7 +++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/FSM_OOP/usr/keyFSM.c b/FSM_OOP/usr/keyFSM.c index 1529f94..21c81ed 100644 --- a/FSM_OOP/usr/keyFSM.c +++ b/FSM_OOP/usr/keyFSM.c @@ -31,7 +31,7 @@ static void step(KeyFSM* pFSM){ KeyFSMData * data = pFSM->base.data; - printf(" 信号:%d", data->out); + printf(" 信号:%d, 计数%d", data->out, data->countDelay); } static void initData(KeyFSM *pFSM){ // 必须重新实现 @@ -40,6 +40,7 @@ static void initData(KeyFSM *pFSM){ // 必须重新实现 data->countMultiDown = 0; data->in = Up; data->out = Idle; + data->isLastHolding = 0; pFSM->base.data = data; } diff --git a/FSM_OOP/usr/keyFSM_private.h b/FSM_OOP/usr/keyFSM_private.h index 1d1c229..2f65fbc 100644 --- a/FSM_OOP/usr/keyFSM_private.h +++ b/FSM_OOP/usr/keyFSM_private.h @@ -208,6 +208,7 @@ const static char *eventStr[] = { "PhsicalDown", "PhsicalUp", "DelayCount5", + "HoldCount10", }; static void printFSM(KeyFSM* pFSM){ printf("\tKeyFSM: "); diff --git a/main.c b/main.c index 8c0a806..af57140 100644 --- a/main.c +++ b/main.c @@ -3,7 +3,7 @@ #include "keyFSM.h" #include "FSM_public.h" -#define NUM 40 +#define NUM 60 // KeyIn testin[NUM] = { // Up,Up,Up,Up,Up, Up,pDown,pDown,pDown,Up, pDown,pDown,pDown,pDown,pDown, // pDown,pDown,pDown,Up,Up, pDown,pDown, @@ -11,7 +11,10 @@ KeyIn testin[NUM] = { 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,