diff --git a/test_on_28377/.cproject b/test_on_28377/.cproject index a7ce628..203d62c 100644 --- a/test_on_28377/.cproject +++ b/test_on_28377/.cproject @@ -113,7 +113,7 @@ - + diff --git a/test_on_28377/main.c b/test_on_28377/main.c index b8276e0..44dcbae 100644 --- a/test_on_28377/main.c +++ b/test_on_28377/main.c @@ -63,9 +63,38 @@ void keyFSMTest(){ } } -typedef int (*fcn)(int, int); -int printtest(int a, int b){ - return a+b; + + +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}; + +void childFSMTest(){ + 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; + } + + tic(); + Step(pFSM); + toc(index++); + + printf("\n"); + } } @@ -81,8 +110,8 @@ void main(void) GPIO_SetupPinMux(LED_BLINKY_GPIO, GPIO_MUX_CPU1, 0); GPIO_SetupPinOptions(INPUT_GPIO, GPIO_INPUT, GPIO_PULLUP); - keyFSMTest(); - +// keyFSMTest(); + childFSMTest(); } diff --git a/vscode/CMakeLists.txt b/vscode/CMakeLists.txt index 7d8bb29..198660d 100644 --- a/vscode/CMakeLists.txt +++ b/vscode/CMakeLists.txt @@ -6,8 +6,8 @@ include_directories(${PROJECT_SOURCE_DIR}/FSM_OOP/baseFSM) aux_source_directory(${PROJECT_SOURCE_DIR}/FSM_OOP/baseFSM SRC_FSM_OOP) -set(keytest 789) -#set(child_parent 789) +# set(keytest 789) +set(child_parent 789) if(DEFINED keytest) include_directories(${PROJECT_SOURCE_DIR}/FSM_OOP/keytest) aux_source_directory(${PROJECT_SOURCE_DIR}/FSM_OOP/keytest SRC_FSM_USR)