QP状态机
巧信
这个作者很懒,什么都没留下…
展开
-
层次状态机编程一:如何创建QM状态机
1、创建AOs2、创建AO内部状态机3、创建AO成员对象4、创建AO函数5、实例化对象6、AO构造函数7、对象c文件中,声明对象,实例化对象,定义构造函数和对象,例如:$declare(AOs::Missile)Missile AO_Missile;$define(AOs::Missile_ctor)$define(AOs::Missile)8、头文件中extern c文件中...原创 2019-04-02 09:43:52 · 1079 阅读 · 0 评论 -
层次状态机编程二:设计QM状态机的基本约定
1、消息在头文件中定义为如下格式:enum GameSignals { /* signals used in the game /TIME_TICK_SIG = Q_USER_SIG, / published from tick ISR /PLAYER_TRIGGER_SIG, / posted by Player (ISR) to trigger the Missile /TAK...原创 2019-04-02 15:35:10 · 819 阅读 · 0 评论 -
层次状态机编程三:状态机设计模式
1、钩子模式:比如报警器的布防、撤防、报警、在家布防状态,在处理撤防消息的时候,都是跳转到撤防状态,那把这个统一的行为,放到上一级状态实现。当然,因为在报警状态下,需要停止声光报警,所以报警状态可以重载一下这个消息的处理。2、提示器模式:比如wifi模块的数据查询和数据解析,都需要用到轮询机制。那么可以添加一个消息DataReady,这样把数据查询和数据解析解耦了。注意,为了提高性能...原创 2019-04-02 16:11:05 · 1895 阅读 · 0 评论