📄 exp1.c
字号:
/*****************************************************************************Filename : exp1.c 状态转换例程文件* Programmer : Haven**Date : 2007.9.24**DESCRIPTION: 定义了几个状态转换函数***************************************************************************/#include "FsmSmall.h" #include "REG935.H"#define USER1_SIG Q_USER_SIG/*--------------------------------------------------------------------------*/void EXP_ctor(void); void EXP_initial(QFsm *me);void EXP_Stat1(QFsm *me);void EXP_Stat2(QFsm *me);void EXP_Stat1EntryAct(void);void EXP_Stat1ExitAct(void);void EXP_Stat2EntryAct(void);void EXP_Stat2ExitAct(void);/*..........................................................................*/static QFsm Qexp;void main(void){ EXP_ctor(); //构造函数 Q_SIG((QFsm *)&Qexp) = Q_TOP_INIT_SIG; EXP_initial(&Qexp); //初始伪状态 while(1){ Q_SIG((QFsm *)&Qexp) = ((QSignal)USER1_SIG); //给一个事件,用于测试 //接收事件 QFsm_dispatch(&Qexp); //分发事件 }}void EXP_ctor() {}/*..........................................................................*/void EXP_initial(QFsm *me) { switch (Q_SIG(me)) { case Q_TOP_INIT_SIG: { Q_TRAN(&EXP_Stat1); break; } }}/*..........................................................................*/void EXP_Stat1(QFsm *me) { switch (Q_SIG(me)) { case Q_ENTRY_SIG: { EXP_Stat2EntryAct(); break; } case USER1_SIG: { Q_TRAN(&EXP_Stat2); break; } case Q_EXIT_SIG:{ EXP_Stat1ExitAct(); break; } }}/*..........................................................................*//*..........................................................................*/void EXP_Stat2(QFsm *me) { switch (Q_SIG(me)) { case Q_ENTRY_SIG: { EXP_Stat1EntryAct(); break; } case USER1_SIG: { Q_TRAN(&EXP_Stat1); break; } case Q_EXIT_SIG:{ EXP_Stat2ExitAct(); break; } }}void EXP_Stat1EntryAct(){}void EXP_Stat1ExitAct(){}void EXP_Stat2EntryAct(){}void EXP_Stat2ExitAct(){}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -