搜索
bottom↓
回复: 34

发一个QP量子做的定时炸弹

[复制链接]

出0入0汤圆

发表于 2015-1-7 21:53:56 | 显示全部楼层 |阅读模式
难得小悠哉一下,这段时间比较闲,最早接触QP是在去年的这个时候,今年的上半年有接触到Qp Nano,很遗憾的是Qp Nano不具有自定义事件,需要上QP才可以实现自定义事件,陆陆续续花了半年的时间读了网上翻译的那本书,了解一些吧,发一个我一个月写的一个很简单的定时炸弹,当然这个是整个Project的建模,没有实际的东西,可以在任意一个开发板上面跑,实现的东西也很简单,但是任何一个复杂的建模都是简单开始的,大家感兴趣可以参考那份翻译的资料,里面有详细的描述,我这里按照他的意思简化,详细的一个帖子也教不会大家,毕竟陆陆续续研究了大半年,也不是几百字可以一下描述出来,可以的话也可以加上数码管做个实物出来,嘿嘿,下面简单的介绍一下:
a.实现的功能:我们要实现的功能很简单,就是定时器设置好,点击运行,开始倒计时,倒计时的模式可以输入密码,如果输入的密码不对,那就归位,密码正确那就退出倒计时模式,倒计时模式时间减到0,炸弹爆炸.
b.分析过程:
1.分析对象(AOs),这里我们有用到按键,所以按键可以列为一个AOs,我们叫KeyPress。有用到炸弹,所以这里也是可以把炸弹定义为一个AOs,我们叫Boom:

2.枚举我们要的信号,这里我们一共有3个按键,我们把按键对应的信号分别枚举出来,如下:

3.开始用QM画状态图,实现我们的状态机:

上面的是按键扫描的状态机

上面的是炸弹的状态机
4.声明和定义:


5.编译出C代码:


完整的工程在这里:





            

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2015-1-7 22:00:27 来自手机 | 显示全部楼层
好东西,很喜欢这种编程方式

出0入0汤圆

 楼主| 发表于 2015-1-7 22:02:45 | 显示全部楼层
后面还做了很多这种好玩的Project,待我悠哉悠哉的发上来。

出0入0汤圆

发表于 2015-1-7 22:15:36 | 显示全部楼层
正在应用,我还得多读几遍官方的书。

出0入0汤圆

发表于 2015-1-7 22:29:18 | 显示全部楼层
不懂。。。。。。。。。。。。。。。。。。。。。。。。。

出0入0汤圆

 楼主| 发表于 2015-1-7 22:35:31 | 显示全部楼层
Hearthbeats 发表于 2015-1-7 22:29
不懂。。。。。。。。。。。。。。。。。。。。。。。。。

出0入0汤圆

发表于 2015-1-7 22:41:46 | 显示全部楼层
跟着楼主学。。。

出0入0汤圆

发表于 2015-1-7 23:04:14 | 显示全部楼层
还能这样省心 啊,感谢楼主推荐

出0入0汤圆

发表于 2015-1-7 23:09:05 | 显示全部楼层
学习一下

出100入85汤圆

发表于 2015-1-8 09:40:26 | 显示全部楼层
一直想哪位大神共享一个用QP做19264等的界面程序

出0入0汤圆

发表于 2015-1-8 10:36:10 | 显示全部楼层
看一看,一直想试试

出0入0汤圆

发表于 2015-1-8 16:50:20 | 显示全部楼层
谢谢分享!!!!!

出0入0汤圆

发表于 2015-1-8 17:30:24 | 显示全部楼层
我也在用这个开发项目,还蛮方便的,不过由于公司加密了,所以无法传代码。

出0入0汤圆

发表于 2015-1-8 17:41:44 | 显示全部楼层
感谢楼主分享,你说的那本书是指《UML状态图的C/C++设计》吗,谢谢!!

出0入0汤圆

 楼主| 发表于 2015-1-8 21:42:06 | 显示全部楼层
creep 发表于 2015-1-8 17:41
感谢楼主分享,你说的那本书是指《UML状态图的C/C++设计》吗,谢谢!!

是的,那个官网可以下载到的。

出0入0汤圆

发表于 2015-1-8 22:03:49 | 显示全部楼层
没嵌套的状态机直接 switch-case就可以实现了,不用每个状态一个函数啊。

出0入0汤圆

发表于 2015-1-8 22:14:43 | 显示全部楼层
学习了啊!谢谢分享!

出0入0汤圆

 楼主| 发表于 2015-1-8 23:21:30 | 显示全部楼层
笑笑我笑了 发表于 2015-1-8 22:03
没嵌套的状态机直接 switch-case就可以实现了,不用每个状态一个函数啊。

以上的代码没有写过一行的逻辑哦,全部是自动生成的。

出0入0汤圆

发表于 2015-1-9 00:01:33 | 显示全部楼层
不错,楼主,刚才用版本3.1.1的QM打不开你的qm文件,
后来下了最新的3.2.2的QM在64Bit的系统平台才可以打开。

出0入0汤圆

发表于 2015-1-10 10:46:19 | 显示全部楼层
不错,很好的例子。

出0入0汤圆

发表于 2015-1-10 11:09:24 | 显示全部楼层
感觉像发现了新国内一样,今晚就去看看这种编程方法

出0入0汤圆

 楼主| 发表于 2015-1-13 14:04:37 | 显示全部楼层
不好意思,前面那个是 基于QpNano的,补上一个QPC的,这个是全功能版本的,基于合作式内核的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-1-26 14:31:36 | 显示全部楼层
QP状态机,MARK!感谢楼主分享!

出0入0汤圆

发表于 2015-1-26 14:43:14 | 显示全部楼层
这个资源占用如何

出0入0汤圆

发表于 2015-1-26 23:55:13 | 显示全部楼层
haodongxissss

出0入0汤圆

发表于 2015-1-27 01:34:11 | 显示全部楼层
  谢谢分享,

出0入0汤圆

发表于 2015-5-11 16:13:01 | 显示全部楼层
兄弟,我在官网下载的QM需要license,好像要钱买,你们是有破解版吗?

出0入4汤圆

发表于 2015-5-12 01:07:48 | 显示全部楼层
我正儿八经看QP代码看不懂,
在看txj大侠的Raw-os micro版本中有类似的代码,终于看懂了

出0入0汤圆

发表于 2015-5-12 09:36:47 | 显示全部楼层
time tick 是10Hz或者100Hz,状态逻辑实现的很好,架构也不错,但是跑一些硬实时的场合不知道考不靠谱???

出0入0汤圆

 楼主| 发表于 2015-5-14 10:41:19 | 显示全部楼层
lansen0815 发表于 2015-5-12 09:36
time tick 是10Hz或者100Hz,状态逻辑实现的很好,架构也不错,但是跑一些硬实时的场合不知道考不靠谱?? ...

用实时系统内核就可以了,不要用RTC内核。

出0入4汤圆

发表于 2016-7-26 14:50:10 | 显示全部楼层
马克下,带有空了好好研究下

出0入0汤圆

 楼主| 发表于 2016-8-12 15:04:14 | 显示全部楼层
后面我搞了个群,欢迎大家加一下:129063491

出0入0汤圆

 楼主| 发表于 2016-8-14 18:55:02 | 显示全部楼层
针对这个我们还出来了一个开发板:
https://item.taobao.com/item.htm ... qq-pf-to=pcqq.group

出0入0汤圆

发表于 2017-7-27 14:49:59 | 显示全部楼层
styleno1 发表于 2015-1-7 22:15
正在应用,我还得多读几遍官方的书。

用的怎么样啊!我才学几天 感觉理解起来有点吃力。怎么去强化练习呢?

出0入0汤圆

发表于 2017-8-10 22:57:39 | 显示全部楼层
1066950103 发表于 2017-7-27 14:49
用的怎么样啊!我才学几天 感觉理解起来有点吃力。怎么去强化练习呢?

666,不过要注意它的缺点,事件对象做逻辑修改时,比跑RTOS复杂许多。不过稳定性绝对可靠。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-22 00:38

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表