• QP-nano结构分析


    QP-nano是QP的一个裁剪版本,是一个通用的、可移植的、超轻量级的事件驱动型框架。适用于像8051、PIC、AVR、MSP430、68HC01/11/12、R8C/Tiny等资源受限的8位和16位MCU。其一个QP-nano应用可以放入到只有100字节的RAM和2K字节ROM的系统中。

    适用的应用范围是电机控制,照明控制,电容触摸,遥控、RFID、温度调节器、小家电控制、玩具、电源、电池充电器等。

    特征:

    • 支持最多4层状态嵌套;
    • 支持最多8个活动对象(AO);
    • 支持最多255个事件;
    • 采用直接分派事件实例到AO的队列中;
    • 每个AO有一个一次性时间事件;
    • 可选采用抢占式调度QK_nano或合作式调度Vanilla;
    • 具有空闲回调函数结构,方便实现低功耗模式;
    • 具有断言的错误处理功能。

    QPnano总体结构图如下:

    QP_nano结构分析
    图1. QP-nano总体结构

    QK调度流程如下:
    QP_nano_QK流程
    图2. QP-nano之QK流程

    Vanilla调度流程如下:
    QP_nano之Vanilla流程
    图3.QP-nano之Vanilla流程

    参考:
    【1】Miro Samek《UML状态图的实用C/C++设计---嵌入式系统的事件驱动型编程技术》第二版

  • 相关阅读:
    处理集合_创建Set
    处理集合_通过对象模拟Set
    处理集合_key相等
    处理集合_创建第1个map
    idea实用快捷键
    Typroa 常用快捷键
    关于IDEA无法加载main方法的bug
    TCP通信的实现代码
    用GUI实现java版贪吃蛇小游戏
    UDP实现在线聊天功能
  • 原文地址:https://www.cnblogs.com/hyper99/p/QPnano-jie-gou-fen-xi.html
Copyright © 2020-2023  润新知