素材来源 |Github开源社区
在嵌入式开发中,小型 OLED 屏幕广泛应用于智能设备、物联网终端等场景。然而,如何在有限的资源下实现流畅的 UI 交互,是开发者面临的一大挑战。MiaoUI 便是一款专为单色 OLED 设计的轻量级菜单 UI 框架,基于 u8g2,采用 C 语言 编写,具备流畅动画、双向链表结构等特性,让你的设备 UI 更加直观、美观。
让你的嵌入式设备拥有更丝滑的 UI 体验,从 MiaoUI 开始!
开源仓库:https://github.com/JFeng-Z/MiaoUI
一、MiaoUI 主要特点
✅ 多样化的菜单类型:支持 列表类菜单 和 图标类菜单,满足不同应用场景。✅ 流畅动画效果:内置 非线性动画,可动态打断,提升用户体验。✅ 灵活的自定义功能:支持菜单项自定义,列表与图标菜单可灵活嵌套。✅ 兼容 RTOS:可用于实时操作系统(RTOS)环境(需测试)。
二、核心功能亮点
智能文字处理:超长标题可自动滚动显示,避免内容截断。 参数调节支持:内置 float、int、bool 类型数据调整功能。 交互增强:支持列表 单选框,动态显示只读数据,支持循环或单次执行自定义功能。 数据可视化:提供 波形显示 和 文本显示 功能,增强数据表达能力。 任务状态反馈:运行完成后自动弹出提示窗口,提高人机交互体验。
三、资源占用情况
ROM 占用:约 24KB(最小化配置,仅含一项菜单项)。 RAM 占用:约 3.1KB,适用于资源受限的嵌入式设备。
四、项目结构概览
core/ —— UI 绘制的核心代码 examples/ —— 示例代码(支持主流STM32、ESP32等平台) fonts/ —— 字体库 display/ —— 屏幕驱动 indev/ —— 输入设备驱动 widget/ —— 各类 UI 控件(参数控件、文本显示、波形显示等)
五、如何使用 MiaoUI?
1️⃣ 移植 u8g2 库:在 ui_conf.h 中配置 屏幕参数(分辨率、字体、图标大小等)2️⃣ 构建菜单:在 ui_conf.c 中定义你的菜单结构和交互逻辑3️⃣ 编译运行:在 STM32 或 ESP32 平台上编译运行,调试 UI 效果详细流程请参考:https://github.com/JFeng-Z/MiaoUI
六、未来开发计划
支持更多分辨率的 OLED 屏幕,提升兼容性。 完善 RTOS 适配,扩展应用场景。 加入 Flash 文件系统,支持存储与读取功能。
七、加入MiaoUI社区
如果你对 MiaoUI 感兴趣,欢迎访问 GitHub 项目主页 进行 下载、讨论 或 贡献代码。你可以提交 Issue 反馈问题,也可以加入 开发者社群 共同完善这个轻量级 UI 框架!
- u8g2库: https://github.com/olikraus/u8g2github用户 morepray: https://github.com/morepray/MorepUI图标库: https://github.com/hugeicons/hugeicons-react图片取模工具:https://javl.github.io/image2cpp/