一种无OS的MCU实用软件框架

💡 原文中文,约4900字,阅读约需12分钟。
📝

内容提要

这是一个无操作系统的微控制器实用软件框架,包括任务轮询管理、命令管理器、低功耗管理、环形缓冲区等实用模块。支持模块自动化管理、任务轮询管理、低功耗管理、命令行解析和blink设备管理。使用STM32F401RET6微控制器和IAR 7.4或Keil MDK 4.72A集成开发环境。

🎯

关键要点

  • 这是一个无操作系统的微控制器实用软件框架,包含多个实用模块。
  • 系统使用自定义段技术减少模块之间的耦合,提高可维护性。
  • 支持模块自动化管理和不同优先级的初始化声明接口。
  • 支持任务轮询管理,通过简单宏声明实现,无需复杂调用。
  • 支持低功耗管理,包括休眠与唤醒通知。
  • 支持命令行解析,包括命令注册与执行。
  • 支持统一管理LED、震动马达、蜂鸣器等blink设备。
  • 使用STM32F401RET6微控制器和IAR 7.4或Keil MDK 4.72A IDE。
  • 任务初始化及任务轮询管理需要系统提供滴答定时器。
  • 命令管理器适用于在线调试和参数配置,支持命令行控制设备行为。
  • cli支持的命令行格式包括命令名称和可选参数,使用空格或逗号分隔。
  • 系统自带默认命令,如'?'和'help',用于列出当前命令列表。
  • 低功耗管理器控制系统功耗,允许模块决定是否进入低功耗状态。
  • 低功耗适配器需要初始化并提供最大休眠时间和进入休眠的函数接口。
  • blink模块管理具有闪烁特性的设备,需提供滴答时钟并定时轮询。
  • 按键管理模块需提供滴答时钟,并在任务中定时轮询按键状态。
🏷️

标签

➡️

继续阅读