说明


课程安排

  1. QP入门
  2. QM入门
  3. 面向对象入门
  4. QP深入 事件篇
  5. QP深入 并发篇
  6. QP深入 内核篇
  7. QP原理 事件的进化
  8. QP原理 状态机的进化
  9. 以QP为核心的软件架构

完成

(1) QP入门

  • 50 GD32F330的空工程。
  • 51 QP空工程。
  • 52 从中断直接发送事件,实现的LED状态机。
  • 53 从中断直接发布事件,实现的LED状态机。
  • 54 使用时间事件,实现的LED状态机。
  • 55 每一个LED灯,使用单独的时间事件。
  • 56 按钮状态机,识别长按、短按和双击。

(2) QM入门

  • 57 使用QM工具,实现LED灯。
  • 58 使用QM功能,实现按钮状态机。

(3) 面向对象

  • 630 面向对象的C编程,pin_out工程,C++ 用于说明面向对象之封装
  • 631 面向对象的C编程,pin_out工程,C 用于说明OOC之封装
  • 632 面向对象的C编程,led工程,C++ 用于说明面向对象之继承
  • 633 面向对象的C编程,led工程,C 用于说明OOC之继承
  • 634 面向对象的C编程,motor工程,C++ 用于说明面向对象之组合
  • 635 面向对象的C编程,motor工程,C 用于说明面向对象之组合
  • 636 面向对象的C编程,超级基类 在671中讨论。
  • 637 面向对象的C编程,对象管理 在691中讨论。

(4) QP 事件篇

  • 640 纯事件模式
  • 641 空事件模式

(5) QP 并发篇

  • 650 体会RTC原则
  • 651 层次状态机(Button, AGV)
  • 652 Actor模型与Active Object(PPT)

(6) QP 内核

  • 660 QK工程
  • 661 QXK工程
  • 662 向第三方内核(FreeRTOS)的移植
  • 663 共享数据的保护之QK
  • 664 共享数据的保护之QXK(无例程,口述)

(7) QP原理 事件的进化

  • 670 轮询
  • 671 同步回调
  • 672 同步回调的缺陷
  • 673 事件的诞生

(8) QP原理 状态机的进化

  • 680 switch-case状态机
  • 681 函数指针
  • 682 事件与状态机的结合
  • 683 Enter Exit
  • 684 状态机基类
  • 685 状态机框架(演示代码)

(9) 以QP为核心的软件架构

  • 690 IO框架(PPT)
  • 691 设备框架(PPT)
  • 692 组件(PPT)
  • 693 跨平台开发(PPT)

TODO

(4) QP 事件篇

  • 642 流事件模式
  • 643 块事件模式(见56)
  • 644 引用事件模式(PPT)

(5) QP 并发篇

  • 653 如何划分Actor(PPT)