FSM/main.c

56 lines
1.0 KiB
C

#include <stdio.h>
#include "keyFSM.h"
#include "FSM_public.h"
#define NUM 60
KeyIn testin[NUM] = {
Up,Up,pDown,pDown,Up,
pDown,pDown,pDown,pDown,pDown,
pDown,pDown,pDown,pDown,pDown,
Up,Up,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,Up,Up,
pDown,pDown,pDown,pDown
};
typedef void (*fcn)();
void printtest(){
printf("fcn\n");
}
int main(){
KeyFSM* keyFSM = createKeyFSM();
for (int i = 0; i < NUM; i++)
{
printf("第%d次: ",i+1);
KeyFSMData* data = getData((FSM_Ptr)keyFSM);
data->in = testin[i];
SetEvent(keyFSM);
Step(keyFSM);
if(data->out){
printf("\t\t\t\t%d", data->out);
}
printf("\n");
}
printf("hello world, 你好世界\n");
fcn fcnptr = printtest;
(fcnptr == NULL) ? : fcnptr();
return 0;
}