Files
STM32F4-Base/Drivers/BSP/UI/README.md
T
wandering1 39bd06adea 为自建代码目录补齐 README,建立目录级导航体系
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、
  Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests)
- 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档
- 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2)
- docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
2026-09-26 12:25:36 +08:00

58 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Drivers/BSP/UI/ — LVGL UI 组件
> 基于 LVGL 的界面实现:菜单树、内容页、通用组件、中文字库、待机页。
> **与 PC 模拟器共用同一套 UI 源码**(`simulator/` 只提供平台层)。
## 结构
### 核心 / 框架
| 文件 | 作用 |
|---|---|
| `ui_port.c/h` | **LVGL 移植层**:显示驱动、输入设备、tick 注册 |
| `ui_menu.c/h` | 菜单框架(树结构与导航) |
| `ui_menu_view.c/h` | 菜单视图渲染 |
| `ui_menu_tab.c/h` | 页签组件 |
| `ui_deco.c/h` | 界面装饰元素(图标、边框等) |
| `ui_standby.c/h` | 待机页 |
| `ui_pwd_def.h` | 密码页默认值定义 |
| `ui_font_cn_12.c` | **中文字库**(由 `tools/font_gen/` 生成,勿手改) |
### 内容页
| 文件 | 作用 |
|---|---|
| `ui_content_page.c/h` | 内容页框架 |
| `ui_page_ac.c/h` | 交流量页 |
| `ui_page_dc.c/h` | 直流量页 |
| `ui_page_device_info.c/h` | 设备信息页 |
| `ui_page_net_cfg.c/h` | 网口设置页 |
| `ui_page_password.c/h` | 密码页 |
| `ui_page_runlog.c/h` | 运行日志页 |
| `ui_page_selftest.c/h` | 自检页 |
### 数据汇入(推流)
| 文件 | 作用 |
|---|---|
| `ui_net_sink.c/h` | 远端显示总线(RemoDispBus)数据汇入口 |
| `ui_net_sink_backend.h` | 后端抽象接口(MCU / 模拟器分别实现) |
| `ui_net_sink_backend_mcu.c` | MCU 端后端实现 |
## ⚠️ 编码注意(本目录含中文字符串)
- 本目录文件**带 UTF-8 BOM**(`.c` 内含中文字符串字面量,BOM 使 ARMCC 按 UTF-8 解码)
- **Edit 工具会剥掉 BOM**:改完必须核对并按原样补回 3 字节 `EF BB BF`,
否则 ARMCC 改按 CP936 解读 → `#870-D: invalid multibyte character sequence`
- UI 改动一律走 **`ui-verify` skill 五步门禁**
- 含新汉字的文案提交前先跑 **`font-regen` skill** 重生成 `ui_font_cn_12.c`
## 相关文档
- UI 架构:`docs/UI设计/UI_设计架构.md`
- 菜单设计:`docs/UI设计/菜单页面设计.md`、`docs/UI设计/内容页架构.md`
- 字体:`docs/UI设计/UI_中文字体生成与配置.md`
- 模拟器:`docs/UI设计/LVGL模拟器部署与使用说明.md`
- 自动化测试:`docs/UI设计/UI_自动化测试流程.md`
- 协议:`docs/UI设计/RemoDispBus协议与接收设计说明.md`