FSM/vscode/FSM_OOP/childtest/main.c

39 lines
828 B
C

#include <stdio.h>
#include "childFSM.h"
#include "parentFSM.h"
#include "FSM_public.h"
ChildFSM *cFSM;
ParentFSM *pFSM;
enum ParentFSMSignals i[20] = {0, Signal_toA, Signal_toB,0,0,0,0,0, Signal_toC, Signal_toA, Signal_toB, Signal_toA};
enum ChildFSMSignals j[20] = {0,0,Signal_toD,0,0,Signal_toE, Signal_toD, Signal_toE,0,0,0,0};
int main(){
cFSM = createChildFSM();
pFSM = createParentFSM();
bind_ParentFSM_ChildFSMs(pFSM, (FSM *)cFSM);
((ParentFSMData *)GetData(cFSM))->external.x = 1;
for (int k = 0; k < 15; k++)
{
printf("第%d次: ",k+1);
SetSignal(pFSM, i[k]);
SetSignal(cFSM, j[k]);
if(k > 5){
((ParentFSMData *)GetData(cFSM))->external.x = 0;
}
Step(pFSM);
printf("\n");
}
return 0;
}