1.QP简介:
量子平台(Quantum Platform, 简称QP)是一个用于实时嵌入式系统的软件框架,QP是轻量级的、开源的、基于层次式状态机的、事件驱动的平台。
QP包括事件处理器(QEP)、轻量级的事件驱动框架(QF)、任务调度微内核(QK)和实时跟踪调试器(QS)四个部分。
利用QP可以开发出结构清晰的嵌入式应用程序(使用C或C++语言)。
2.QEP核心思想
QEP的核心思想就是,用一个函数指针指向当前状态函数,使用这个函数指针有条件地执行某状态函数,并根据执行结果执行其它的相应动作。
(1)状态图到C语言的转换
状态图可以很容易地转换到C语言表示,下面举例说明(略去了构造函数和初始化函数)。
例如下面的平面状态机FSM,图中有两个状态:设置状态setting和定时状态timing。
可以转换成C代码如下
两个状态函数声明:
static QState Bomb4_setting(Bomb4 *me, QEvent const *e);