搜索
bottom↓
回复: 23

分享基于QP状态机框架的项目模板

[复制链接]

出0入4汤圆

发表于 2021-7-12 18:17:59 | 显示全部楼层 |阅读模式
QP框架在论坛里鲜有讨论,但是相信上手的人都会说好。QP可以运行在Linux,FreeRTOS,windows等传统的操作系统之上,同时也可以运行在MCU裸机上,本身就是个RTOS。

把自己在用的项目模板分享出来,供大家参考。项目基于STM32F0 Cube库,已经包含所有依懒。可以使用MDK直接编译下载运行,项目地址:https://github.com/cnshibo/qpc-cortex-m-template


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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2021-7-12 22:09:31 | 显示全部楼层
学习一下,谢谢分享

出0入0汤圆

发表于 2021-7-13 06:45:11 来自手机 | 显示全部楼层
学习一下,谢谢分享

出0入4汤圆

发表于 2021-7-13 08:31:09 | 显示全部楼层
一直用的QPnano,准备上手QPC试试。
多谢楼主分享!

出0入4汤圆

 楼主| 发表于 2021-7-13 08:37:58 | 显示全部楼层
QP是属于 reactive 模式,从 superloop 模式切换过来可能需要一些学习时间,但是上手后会让人爱不释手。

出0入4汤圆

 楼主| 发表于 2021-7-13 08:39:24 | 显示全部楼层
yunqing_abc 发表于 2021-7-13 08:31
一直用的QPnano,准备上手QPC试试。
多谢楼主分享!

nano资源要求低,但是有点局限。资源允许的话,QPC更自由

出0入36汤圆

发表于 2021-7-13 08:45:09 来自手机 | 显示全部楼层
这个东西太复杂了,用的人少。

出0入4汤圆

 楼主| 发表于 2021-7-13 09:18:39 | 显示全部楼层
本帖最后由 cnshibo 于 2021-7-13 09:19 编辑
redworlf007 发表于 2021-7-13 08:45
这个东西太复杂了,用的人少。


确实学习曲线有点徒,但是如果有OO编程概念和UML基础知识,上手还是比较快的。

基本思想就是消息队列,每一个object都自带一个消息队列,当外部事件发生,就给此active object发送event,active object接到event后独自去处理。Timer是其最基本的event source。

出0入0汤圆

发表于 2021-7-13 09:28:02 | 显示全部楼层
这个自己学习维护还可以,要是团队都弄这个的话就比较蛋疼了。有点难懂

出0入4汤圆

发表于 2021-7-13 09:46:39 | 显示全部楼层
cnshibo 发表于 2021-7-13 08:39
nano资源要求低,但是有点局限。资源允许的话,QPC更自由

是的,最大支持8个对象,对于一些复杂的系统是无法满足的。不过对于一些小系统,是足够使用了。

出0入0汤圆

发表于 2021-7-13 10:05:11 | 显示全部楼层
用过几年qp,确实上手后应对新项目进来可以快速搭建

出0入36汤圆

发表于 2021-7-13 10:10:54 | 显示全部楼层
cnshibo 发表于 2021-7-13 09:18
确实学习曲线有点徒,但是如果有OO编程概念和UML基础知识,上手还是比较快的。

基本思想就是消息队列, ...

太费事了,这个我也看过,我后面用ucos 挺方便的,我Linux上写应用程序,随便乱写也能用,哈哈。

出0入8汤圆

发表于 2021-7-13 10:24:00 | 显示全部楼层
cdyy777 发表于 2021-7-13 09:28
这个自己学习维护还可以,要是团队都弄这个的话就比较蛋疼了。有点难懂


确实是,我曾经几次想学习 get 一下,发现廉颇老矣,索性放弃了,还是操作系统自然点。

出615入1076汤圆

发表于 2021-7-13 10:40:01 | 显示全部楼层
如何反驳 UML 无用论? - 陈吉的回答 - 知乎
https://www.zhihu.com/question/41212231/answer/101122122

出0入4汤圆

 楼主| 发表于 2021-7-13 10:41:43 | 显示全部楼层
cdyy777 发表于 2021-7-13 09:28
这个自己学习维护还可以,要是团队都弄这个的话就比较蛋疼了。有点难懂

https://www.state-machine.com/customers/

看网址,很多大厂都在用,不知道他们团队是怎样维护状态机的。上手了的朋友可以一起来讨论下各自的维护经验。分享、讨论大家一起进步。

出0入8汤圆

发表于 2021-7-13 10:45:07 | 显示全部楼层
dukelec 发表于 2021-7-13 10:40
如何反驳 UML 无用论? - 陈吉的回答 - 知乎
https://www.zhihu.com/question/41212231/answer/101122122 ...

戳到痛点了,我曾经也花了一些时间,去记那些连线符号,现在早忘光了,使用场景几乎为 0,或许逼格不够高吧。

出0入4汤圆

 楼主| 发表于 2021-7-13 10:48:39 | 显示全部楼层
dukelec 发表于 2021-7-13 10:40
如何反驳 UML 无用论? - 陈吉的回答 - 知乎
https://www.zhihu.com/question/41212231/answer/101122122 ...

UML是用来沟通和表达设计思路的。大家用统一的符号来表达,更有利于沟通理解。比较英语/中文 谁更好,谁更烂有意义吗?

出0入4汤圆

发表于 2021-7-13 13:23:28 | 显示全部楼层
security 发表于 2021-7-13 10:45
戳到痛点了,我曾经也花了一些时间,去记那些连线符号,现在早忘光了,使用场景几乎为 0,或许逼格不够高 ...

我是直接抛掉UML,只用他的框架,将业务逻辑划分成各个不同的对象,对于实现模块间的解耦,是非常有用的

出0入4汤圆

 楼主| 发表于 2021-7-14 08:32:26 | 显示全部楼层
yunqing_abc 发表于 2021-7-13 13:23
我是直接抛掉UML,只用他的框架,将业务逻辑划分成各个不同的对象,对于实现模块间的解耦,是非常有用的 ...


QP framework 本身和UML没有直接联系,也不是学习使用的必要前提条件。但是UML本身是业务/逻辑设计语言,有背景可以更快更好地设计状态机而已。

出0入0汤圆

发表于 2021-7-14 12:54:35 | 显示全部楼层
楼主是直接看官网资料学的QP吗?

出0入0汤圆

发表于 2021-7-14 16:08:45 | 显示全部楼层
QP是需要收费的吧

出0入4汤圆

 楼主| 发表于 2021-7-14 20:01:47 | 显示全部楼层
qwerttt 发表于 2021-7-14 12:54
楼主是直接看官网资料学的QP吗?

框架作者出过两本书,里面有框架设计思路。

出0入4汤圆

 楼主| 发表于 2021-7-14 20:04:04 | 显示全部楼层
xjavr 发表于 2021-7-14 16:08
QP是需要收费的吧

gnu 和commercial license可选。

出0入0汤圆

发表于 2021-10-31 07:37:31 | 显示全部楼层
cnshibo 发表于 2021-7-13 10:48
UML是用来沟通和表达设计思路的。大家用统一的符号来表达,更有利于沟通理解。比较英语/中文 谁更好,谁 ...

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

本版积分规则

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

GMT+8, 2024-4-25 21:04

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

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