自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 QP/C学习笔记(五) QActive实现原理

本文分析了QP/C中QActive的实现原理及其对RTOS资源的依赖。QActive通过继承QAsm基类实现面向对象编程,主要数据结构包含线程优先级、线程句柄和事件队列。其运行机制依赖RTOS的任务和队列:每个状态机运行在独立线程中,通过阻塞等待事件队列实现异步通信。启动流程包括创建事件队列、注册状态机、执行初始状态和创建线程。QActive核心功能通过RTOS的队列实现事件传递,利用任务作为状态机运行载体,这种设计使得QP/C能灵活适配不同RTOS平台。理解这些底层机制有助于在不同操作系统上移植QP/C框

2025-08-01 02:57:11 989

原创 QPC学习笔记(四):层次状态机

本文介绍了基于QPC框架的层次状态机实现方法。层次状态机通过状态嵌套和事件传递机制,有效解决复杂系统状态爆炸问题。文章以交通灯控制为例,展示了红灯、黄灯和绿灯(包含闪烁子状态)的状态转换逻辑,重点解析了Q_SUPER宏的父状态返回机制

2025-06-03 01:30:12 717

原创 QPC学习笔记(三):QPCdemo解析

本文解析了QPC框架下的Binky_Demo示例,展示了如何使用状态机实现LED闪烁控制。示例通过Blinky结构体(继承QActive基类)和时间事件QTimeEvt,构建了一个简单的状态机系统。重点分析了Blinky_ctor()构造函数如何初始化Active对象并绑定初始状态,以及Blinky_initial()函数如何启动定时器和切换状态。状态机在OFF和ON状态间通过TIMEOUT_SIG事件进行循环切换,配合Q_ENTRY_SIG实现LED控制。该示例清晰展示了QPC状态机的基本编程模式和事件处

2025-05-27 00:48:06 1047

原创 QPC学习笔记(二):基于FreeRTOS移植QPC

本文介绍了在FreeRTOS上移植QPC(Quantum Platform C)框架的关键步骤。主要内容包括:1)准备QPC源码和FreeRTOS工程模板;2)重点关注移植核心文件qf_port.c中的关键接口实现,特别是QF_run()和QF_onStartup()函数;3)时间事件基准接口的实现方法,使用FreeRTOS定时器触发QP事件;4)事件池的初始化配置。文章指出移植成功的三个关键点:平台适配、QF_onStartup实现和事件池初始化,并说明类似方法可应用于其他RTOS平台。最后预告下期将分析

2025-05-26 01:03:50 519

原创 QPC学习笔记(一):什么是QP/C

QP/C是一个专为嵌入式系统设计的实时事件框架,采用异步事件驱动的Active Object模型。它提供状态机实现和运行时环境,可作为传统RTOS与应用程序间的抽象层,降低移植难度。框架包含通用模板,支持同步/异步操作和事件/时间驱动模型。典型应用开发流程包括:状态机对象构建、资源初始化、状态与事件定义、状态接口编写等。QP/C相比手动状态机具有更高结构化和可扩展性,适合复杂嵌入式系统开发。后续将介绍在FreeRTOS平台上的移植方法。

2025-05-25 19:38:15 889

QP/C多平台样例合合集

QP/C 实时事件框架 (RTEF) 是异步、事件驱动的 Active Object(又名 Actor)计算模型的轻量级实现,专为微控制器 (MCU) 等实时嵌入式系统而设计。QP/C 既是用于构建由 Active Objects (Actors) 组成的应用程序的软件基础设施,也是用于以确定性、实时方式执行 Active Objects 的运行时环境。此外,QP/C 框架支持分层状态机,用于指定活动对象的行为。QP/C 框架可以被视为一个现代的、异步的、真正事件驱动的实时操作系统。

2025-05-27

QP/C-8.0.3源码

QP/C 实时事件框架 (RTEF) 是异步、事件驱动的 Active Object(又名 Actor)计算模型的轻量级实现,专为微控制器 (MCU) 等实时嵌入式系统而设计。QP/C 既是用于构建由 Active Objects (Actors) 组成的应用程序的软件基础设施,也是用于以确定性、实时方式执行 Active Objects 的运行时环境。此外,QP/C 框架支持分层状态机,用于指定活动对象的行为。QP/C 框架可以被视为一个现代的、异步的、真正事件驱动的实时操作系统。

2025-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除