程序其实可以这么玩,这篇分享不会告诉你QP怎么安装,状态机的原理,QM的教程,只是给大家演示如何应用QP量子编程完成一个定时点灯的小程序,首先打开QM软件,然后创建一个空的工程,这是一个轻量级的小软件,远没有你用的IDE工具那么复杂,这是一个状态机建模的工具,如下图:
单击OK以后,那么一个空的工程就出现了,如下图:
左边的工作区多了一个QPC的目录,有个括号写着locked,意思是这个是以QPC为框架构架的状态图,locked意思是不能修改,可以理解为MDK创建工程会生成很多基础文件,给工程用,不能改的,接下来定义活动对象构建状态图了 ,如下:
在工作区model上右击创建package class statemachine(SM)等等构件,然后双击SM进入画状态图的界面,如下 :
画图工具在右侧面板,如下图:
应用画图工具,可以再状态图中绘制状态机,如下:
这里我们要点灯所以,安装开灯状态,关灯状态绘制这两个状态,如下图:
添加了一些触发事件,例如TIMEOUT 到时间切换状态,接下来创建一个.C文件,假如QP框架启动文件,注意$开头的部分的代码,这部分会被QM工具进行重写,类似我们的宏定义,如下图:
单击tools里面的generate code 进行代码生成,如下图:
这时候我们用文本编辑软件重新打开这个.c文件,会发现$的部分全部被展开了,以我们绘制的状态机为模板的方式,如下图:
这时候我们的编码进完成了,接下来我们可以生成windows程序版本验证我们的点灯程序,如下操作,打开我们的CMD,怎么打开CMD就不讲了哈,切换到我们的工程目录,如下:
这是我们的工程目录,如下有我们生成的.c文件,如下图:
cmd中执行如下命令:
这个时候进入工作目录,会看到.exe可执行程序,如下图:
双击运行blinky.exe,运行如下图:
这时候会有人问为啥点个灯这么麻烦,其实点灯没人会这么点,但是当你用点灯的方式来做嵌入式很多复杂的项目时候,随着需求的增加,控制的复杂化,一个脑袋会有两个大,这时候,假如你能想起来以前见过一个小白,写了一篇关于quantum leaps量子编程的玩意儿,并且想要尝试用它来他来重建你的软件构架,那这篇分享也就值了~!!!
再见~!