[导读]关注、星标公众号,直达精彩内容来源:全然电子整理:李肖遥 QP事件状态机框架论坛已经有很多教程了,加上已经有中文版本的书籍学习QP相对来说多花一些时间就能入门,有经验的攻城狮们可能忙于工作无法学习更多的技术,使用QP框架的好处可能仍不会让您动心,但是如果现在有一款能自动生成代码...
关注、星标公众号,直达精彩内容来源:全然电子整理:李肖遥 QP事件状态机框架论坛已经有很多教程了,加上已经有中文版本的书籍学习QP相对来说多花一些时间就能入门,有经验的攻城狮们可能忙于工作无法学习更多的技术,使用QP框架的好处可能仍不会让您动心,但是如果现在有一款能自动生成代码的图形编辑软件呢?是不是会有那么点心动,虽然不能完全脱离代码,但是至少应用层可以完全使用使用该软件来完成,我要推荐就是QM软件,一个基于QP框架UML语言的状态机图形编程软件,下面是我使用QM开发官方Blingy闪灯的基本教程。
简介
QP由Quantum Leaps公司开发异于传统顺序式系统(前后台架构即main ISR)和传统多任务系统(操作系统)的事件驱动型状态机框架,实现了在C语言下的面向对象编程,该框架支持有限状态机FSM和层次式状态机HSM。
QP大体的框架如下图
对于开发者使用该框架的开发步骤如下:
- 理解整个项目需求
- 顺序图,划分出具有行为的活动对象并且将系统的资源分配到各个活动对象中,降低对象间的耦合,整理出各个活动对象间的事件交换
- 信号和事件的枚举,各个活动对象间的事件交换和自身对象下的触发信号事件。信号是只有触发信号而事件是带有参数的信号触发例如串口接收不仅有串口接收这一触发事件并且还有与之一起的数据
- 各个活动对象下的具体状态机实现
- 初始化并启动应用程序 给事件列队分配内存,初始化活动对象分配优先级最后启动QP将系统控制权交给QP管理,QP则根据你的事件触发来执行各个活动对象下的状态机
- 调试
如下图所示
更多关于QP的资料请看点击http://www.state-machine.com/psicc2/index.html,里面有电子版本的PSiCC2-CN文档详细介绍了整个QP框架QpNano
接下来简单介绍下QpNano,因为我的建模是使用QpNano,它是由事件驱动型框架下的裁剪版本,顾名思义,是针对资源有限的单片机。如低端的8位和16位单片机8051,PIC,AVR,MSP,STM8等当然也适应于32位处理器。
下面介绍如何在StateMachines板上运用QP官网上Blinky(闪灯)的例程之前简单介绍下StateMachines板的资源:- 使用STM32F030C8T6 Cortex-m0处理器
- 板载按键、12864液晶屏、字库、数码管、串口转USB,LED灯
简单介绍完QP和QpNano后,下面才是我要重点推荐使用QP框架的原因。QP框架允许完全手工编程和使用自动生成代码工具QM。QM(QP™ Modeler)建模是基于QP框架和层次式状态机UML语言图形自动代码生成工具,可以在该软件下实现各个对象的状态机和事件交换,而状态机实现方式是使用UML图形,真正做到应用层使用图形编程,更适合我们的编程思维。
Blinky例程是一个LED闪灯程序,是学习QP、QM最基本的例程,以下是使用qm_3.3.0-win64下建立Blinky模型:第一步在QM中新建工程
如下图所示在File菜单下点击New Modle新建一个QM工程,然后在弹出的页面Frameworks下选择使用qpn即qp-nano框架,Templates模板选择None,Name我暂且命名为Project,Location选择工程保存位置
点击OK后可以看到已经生成了Project的项目如下图所示
第二步:建立对象
在上一步骤中生成的工程左上角Mode Explorer下Project处鼠标右键选择Add Package建立一个包,在Property Editor处nane命名为AOs, stereotype选择components如下图所示
然后在AOs处鼠标右键选择Add Class建立一个类,在Property Editor处nane命名为Blinky, superclass 处选择qpn::QActive,如下图所示
接着在AOs处鼠标右键选择Add Attribute增加属性,在Property Editor处nane处命名为AO_ Blinky,type为struct Blinky,即使Blinky类的具体实例对象
如下图所示
接着在AOs处鼠标右键选择Add Operation增加类构造,在Property Editor处
nane处命名为Blinky_Ctor
teturn type 选择void
在下方Code处具体添加代码构造
Blinky * const me =
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
机器学习是人工智能的一个分支,它通过揭示数据模式(即特征和目标变量之间的关系)来模拟人类的学习能力。特征是表示给定观察点或数据点的属性的独立变量。另一方面,目标变量是一个因变量,我们感兴趣的建模作出预测。
关键字:
机器学习
独立变量
建模
(全球TMT2023年7月20日讯)7月19日,第二十届中国制造业数字化转型高峰论坛在西安举行。中之杰智能与现场嘉宾共同分享企业转型方法,探索数智化最佳实践,为制造业高质量发展集势聚能。中之杰智能打造了颠覆性创新产品...
关键字:
建模
双模
中国制造业
指令
MATLAB是一款主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的软件。
关键字:
matlab
设计
建模
质子交换膜或聚合物电解质膜 (PEM) 燃料电池是将氢和氧转化为水和电的装置。它是氢经济的一项非常重要的技术。它在低工作温度下运行,可用于能源生产。这种电池构成了一个电化学系统,由于其反应物而产生电力。虽然 PEM 燃料...
关键字:
PEM 燃料电池
建模
(全球TMT2022年10月25日讯)为了帮助客户应对数据安全与合规挑战,解决数据利用与保护之间的矛盾,最大化数据价值,2022年可利邦基于多方安全计算、隐私保护、联邦学习等技术,推出了大数据隐私计算平台,解决了数据协...
关键字:
大数据
建模
数据安全
数据源
摘要:农业的发展离不开排水灌溉,因此机电排水灌溉技术得到了迅速发展。如何在排水灌溉中节约电能对建设节约型社会有着重要的意义,鉴于此,对农业电排灌节能降耗进行了有益的思考,重点研究了农业排水灌溉的特点及优化农业排水灌溉的策...
关键字:
负荷特性
建模
优化
显著提升半导体器件建模工程师的团队效率,提高整个设计和开发工作流程的自动化程度
关键字:
是德科技
建模
(全球TMT2022年8月22日讯)2022中国国际智能产业博览会(简称"智博会")开幕。浪潮围绕以数字技术深度赋能实体经济,带来了三大创新产品。 一是浪潮数字政府基础支撑平台,该平台包括天工开务、格物致...
关键字:
智能化
3D模型
建模
控制
(全球TMT2022年8月18日讯)为加速发展"智慧医疗",台北荣民总医院(以下称台北荣总)引入 IBM Cloud Pak for Data 平台,运用云原生架构,打破医疗数据孤岛、保护数据隐私及安全、降低使用者门坎...
关键字:
FOR
IBM
AI
建模
上海2022年7月6日 /美通社/ -- 近日,德国莱茵TUV大中华区(以下简称"TUV莱茵")作为主要参编单位出席了在上海举办的"零碳冷链园区...
关键字:
供应链
定时
建模
操作系统
摘要:简要介绍了建立三维仿真模型的方法和流程。以某家电工厂冰箱生产为例,对冰箱箱体发泡工段进行了建模和仿真。通过对仿真参数进行统计分析,得到了各夹具的利用率:通过对多个方案的仿真数据进行对比,选取最合适的方案。对今后冰箱...
关键字:
箱体发泡
建模
三维仿真
广州2022年6月10日 /美通社/ -- 近日,德国莱茵TUV大中华区(以下简称"TUV莱茵") 携手由万科、晋承鼎盛等联合创始发起的第三方B2B建材采...
关键字:
BSP
建模
数字化
汽车
北京2022年6月8日 /美通社/ -- 近日,德国莱茵TUV大中华区(以下简称"TUV莱茵")管理体系服务受邀参与制定的《"零碳工厂评价规范&...
关键字:
GB
ISO
建模
汽车
上海2022年6月2日 /美通社/ -- 日前,国际独立第三方检测、检验和认证机构德国莱茵TUV大中华区(简称"TUV莱茵")与国内具有绿色金融与低碳咨询...
关键字:
BSP
可持续发展
建模
电池
(全球TMT2022年5月18日讯)亚马逊云科技宣布,汇量科技(Mobvista)规模化使用亚马逊云科技,打造全球领先的移动广告和营销服务技术平台。汇量科技规模化使用亚马逊云科技的低成本算力资源,构建了云原生的弹性集群...
关键字:
亚马逊
INTEGRAL
全栈
建模
摘要:基于传统直角坐标机器人控制技术,以蓄电池极板连续生产线的码垛机器人为应用案例,根据设备需求、机器人控制原理和系统状态机的设计,介绍了一种通用的、灵活的、开发周期短的多轴直角坐标机器人控制方法。该机器人经过实践,验证...
关键字:
直角坐标机器人
状态机
控制系统
深圳2022年1月12日 /美通社/ -- 2022年1月12日,枫笛正式发布了Blink900迷你双通道无线麦克风系统。该产品拥有卓越的稳定性及兼容性,通过配件可连接相机、手机、平板、电脑,能轻松驾驭Vlog、直播、访...
关键字:
link
双通道
无线麦克风
(全球TMT2022年1月13日讯)2022年1月12日,枫笛正式发布了Blink900迷你双通道无线麦克风系统。该产品拥有卓越的稳定性及兼容性,通过配件可连接相机、手机、平板、电脑,能轻松驾驭Vlog、直播、访谈等场...
关键字:
link
双通道
无线麦克风
(全球TMT2021年12月16日讯)12月15日,由中国电信主办,华润数科承办的“首届中央企业数字化转型峰会 -- 5G+工业互联网融合创新应用分论坛”在深圳市中国华润大厦落幕。期间,华润数科宣布其旗下工业互联网业务...
关键字:
link
工业互联网
▼点击下方名片,关注公众号▼欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。回复【加群】,限时免费进入知识共享群;回复【3D封装库】,常用元器件的3D封装库;回复【电容】,获取电容、元器件选型相关的内容...
关键字:
单片机
状态机
传感器中