使用QP_NANO可以省去状态的分支判断
具体参考 嵌入式系统的微模块化程序设计
你也可以直接上www.state-machine.com下载最新的QP_NANO,参考里面的定时炸*的例子。
需要注意的是,例子中使用了QP_NANO的QF/QK模块提供的抢占式和非抢占式的调度器,如果有自己熟悉的调度器的话,
可以只用QEP中的QFsm来设计程序(我就只参考了QFsm),有人在CSDN上发表了QEP的注释,虽然我没看,但你可以参考下
http://blog.csdn.net/lyqdy1/article/details/7085959
新版的Practical UML Statecharts in C/C++中文版,听说最近也会出版
到时候学习了HSM的实现技术,代码紧凑性应该还会进一步提高(我感觉现在代码的体积有点大)。
值得注意的是,在51上使用的时候,需要考虑函数的可重入性
|