#ifndef __TEMPLATE_FSM_H_ #define __TEMPLATE_FSM_H_ /* -------------------------------------------------------------------------- */ /* 提前做类型声明 */ /* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */ /* 自定义数据和信号 */ /* -------------------------------------------------------------------------- */ enum TemplateFSMSignals{ Signal_A = 0, Signal_B, }; typedef struct _templateFSMExternalData { int arrindex; int x; }TemplateFSMExternalData; typedef struct _templateFSMInnerData { int y1; int inner1; }TemplateFSMInnerData; /* -------------------------------------------------------------------------- */ /* 下面的改个名字就行了 */ /* -------------------------------------------------------------------------- */ #define TemplateFSM_Input(pFSM) ((TemplateFSMExternalData *)_preloadIn((FSM *)pFSM)) typedef struct _templateFSMData { TemplateFSMExternalData external; TemplateFSMInnerData internal; }TemplateFSMData; typedef struct _TemplateFSM TemplateFSM; TemplateFSM *createTemplateFSM(); void setTemplateFSMSignals(TemplateFSM *pFSM, enum TemplateFSMSignals Signal); #endif