FSM/main.c

56 lines
1.0 KiB
C
Raw Normal View History

2024-01-23 20:05:30 +08:00
#include <stdio.h>
#include "keyFSM.h"
#include "FSM_public.h"
2024-01-23 20:05:30 +08:00
2024-01-23 23:34:19 +08:00
#define NUM 60
2024-01-23 23:28:15 +08:00
2024-01-24 10:20:05 +08:00
KeyIn testin[NUM] = {
2024-01-23 23:28:15 +08:00
Up,Up,pDown,pDown,Up,
2024-01-23 23:34:19 +08:00
pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown,
Up,Up,Up,Up,Up,
Up,Up,pDown,pDown,pDown,
2024-01-23 23:28:15 +08:00
pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,Up,Up,
pDown,pDown,pDown,pDown
};
2024-01-23 20:05:30 +08:00
typedef void (*fcn)();
void printtest(){
printf("fcn\n");
}
2024-01-23 20:05:30 +08:00
int main(){
KeyFSM* keyFSM = createKeyFSM();
for (int i = 0; i < NUM; i++)
{
2024-01-23 23:00:30 +08:00
printf("第%d次: ",i+1);
KeyFSMData* data = getData((FSM_Ptr)keyFSM);
data->in = testin[i];
SetEvent(keyFSM);
Step(keyFSM);
2024-01-24 10:20:05 +08:00
if(data->out){
printf("\t\t\t\t%d", data->out);
}
printf("\n");
}
printf("hello world, 你好世界\n");
2024-01-23 20:05:30 +08:00
fcn fcnptr = printtest;
(fcnptr == NULL) ? : fcnptr();
2024-01-23 20:05:30 +08:00
return 0;
}