事件驱动型状态机
这个项目提供了一个用于实现有限状态机(Finite State Machine, FSM)的简单框架,用于管理状态和处理事件。该框架支持状态的初始化、退出、周期性任务执行,以及状态切换和事件处理。
项目简介
使用方法
1. 包含头文件
#include "efsm.h"2. 定义状态和事件
// 定义状态
efsm_state_t stateA = {NULL, initA, exitA, actionA};
efsm_state_t stateB = {NULL, initB, exitB, actionB};
// 定义事件命令
#define CMD_START (EFSM_STATE_USER_CMD_BASE + 1)
#define CMD_STOP (EFSM_STATE_USER_CMD_BASE + 2)3. 定义状态机管理结构体
4. 初始化状态机
5. 注册状态机
6. 定义状态机管理函数
7. 设置状态机管理函数
8. 定义状态事件处理函数
9. 初始化状态机状态
10. 执行状态机
注意事项
示例
许可证
贡献
联系方式
Last updated