父子状态机测试,父状态机during166,第一次进入子状态机530,后续during子状态机319,子状态机状态变化416

This commit is contained in:
godcreator02 2024-07-02 14:51:35 +08:00
parent ea121bcb29
commit d48d5c7cc1
3 changed files with 37 additions and 8 deletions

View File

@ -113,7 +113,7 @@
</toolChain> </toolChain>
</folderInfo> </folderInfo>
<sourceEntries> <sourceEntries>
<entry excluding="ParentFSM.c|childFSM.c|2837x_FLASH_lnk_cpu1.cmd|source/F2837xD_SWPrioritizedPieVect.c|2837xD_FLASH_lnk_cpu1.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> <entry excluding="2837x_FLASH_lnk_cpu1.cmd|source/F2837xD_SWPrioritizedPieVect.c|2837xD_FLASH_lnk_cpu1.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries> </sourceEntries>
</configuration> </configuration>
</storageModule> </storageModule>

View File

@ -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_SetupPinMux(LED_BLINKY_GPIO, GPIO_MUX_CPU1, 0);
GPIO_SetupPinOptions(INPUT_GPIO, GPIO_INPUT, GPIO_PULLUP); GPIO_SetupPinOptions(INPUT_GPIO, GPIO_INPUT, GPIO_PULLUP);
keyFSMTest(); // keyFSMTest();
childFSMTest();
} }

View File

@ -6,8 +6,8 @@ include_directories(${PROJECT_SOURCE_DIR}/FSM_OOP/baseFSM)
aux_source_directory(${PROJECT_SOURCE_DIR}/FSM_OOP/baseFSM SRC_FSM_OOP) aux_source_directory(${PROJECT_SOURCE_DIR}/FSM_OOP/baseFSM SRC_FSM_OOP)
set(keytest 789) # set(keytest 789)
#set(child_parent 789) set(child_parent 789)
if(DEFINED keytest) if(DEFINED keytest)
include_directories(${PROJECT_SOURCE_DIR}/FSM_OOP/keytest) include_directories(${PROJECT_SOURCE_DIR}/FSM_OOP/keytest)
aux_source_directory(${PROJECT_SOURCE_DIR}/FSM_OOP/keytest SRC_FSM_USR) aux_source_directory(${PROJECT_SOURCE_DIR}/FSM_OOP/keytest SRC_FSM_USR)