From 48c209dd58d601bcc3843c8db158c9a21d109bad Mon Sep 17 00:00:00 2001 From: godcreator <974980621@qq.com> Date: Tue, 23 Jan 2024 23:00:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=B8=AA=E7=89=88=E6=9C=AC=E6=9C=89?= =?UTF-8?q?=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FSM_OOP/usr/keyFSM_private.h | 5 +++++ main.c | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/FSM_OOP/usr/keyFSM_private.h b/FSM_OOP/usr/keyFSM_private.h index dfac4d5..33edc8c 100644 --- a/FSM_OOP/usr/keyFSM_private.h +++ b/FSM_OOP/usr/keyFSM_private.h @@ -70,6 +70,7 @@ static void actionFcn(exit, Downing)(KeyFSM *pFSM) static void actionFcn(during, UpDebouncing)(KeyFSM *pFSM){ KeyFSMData * data = pFSM->base.data; data->countDelay++; + printf(" during开启消抖 "); } @@ -91,6 +92,8 @@ typedef enum _Event{ static State transitionHandler(PhsicalDown)(KeyFSM *pFSM) { printf(" 物理按键按下 "); + KeyFSMData * data = pFSM->base.data; + data->countDelay = 0; switch (getFSMCurState((FSM_Ptr)pFSM)) { case Waiting: @@ -109,6 +112,8 @@ static State transitionHandler(PhsicalDown)(KeyFSM *pFSM) static State transitionHandler(PhsicalUp)(KeyFSM *pFSM) { printf(" 物理按键松开 "); + KeyFSMData * data = pFSM->base.data; + data->countDelay = 0; switch (getFSMCurState((FSM_Ptr)pFSM)) { case DownDebouncing: diff --git a/main.c b/main.c index 103e577..b163f59 100644 --- a/main.c +++ b/main.c @@ -3,9 +3,10 @@ #include "keyFSM.h" #include "FSM_public.h" -#define NUM 30 +#define NUM 35 KeyIn testin[NUM] = { - Up,Up,Up,Up,Up,Up, pDown,pDown,pDown, Up,Up, pDown,pDown,pDown,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, }; @@ -15,7 +16,7 @@ int main(){ for (int i = 0; i < NUM; i++) { - printf("第%d次: ",i); + printf("第%d次: ",i+1); KeyFSMData* data = getData((FSM_Ptr)keyFSM); data->in = testin[i]; setEvent((FSM_Ptr)keyFSM);