代码拉取完成,页面将自动刷新
#ifndef _StateMachine_H
#define _StateMachine_H
#include <stdint.h>
typedef enum
{
SM_EVENT_ENTER = 0, //初始化事件
SM_EVENT_EXEC, //执行事件
SM_EVENT_EXIT, //退出状态机
}smEventState;
typedef struct _smEvent_t
{
uint8_t id; //时间id,必须唯一
uint8_t nextEventId; //下个事件的id号
smEventState curState; //当前事件状态
void (*Action)(struct _smEvent_t* thisEvent); //执行函数的指针
}smEvent_t;
typedef struct
{
uint8_t curEventId; //当前时间号
uint8_t eventListCount; //事件个数
smEvent_t* eventList; //事件表
}smCore_t;
void SmEventInit(smEvent_t* pEvent,void (*Action)(smEvent_t *thisEvent), uint8_t eventId);
void SmInit(smCore_t* pSM, smEvent_t* list, uint8_t eventCount);
void SmProcess(smCore_t* pSM);
void SmSetNextEvent(smEvent_t* event, uint8_t nextEventId);
#endif // ! _StateMachine_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。