RA6809 的 HMI(人机交互) 开发:菜单逻辑架构设计与实现详解(1)
嵌入式 HMI 必看:RA6809 芯片菜单逻辑架构与屏控实现–简易说明版本
一分钟看懂
我们这套菜单逻辑架构做的事可以概括成三句:
- 屏幕上有很多“页”,每页上有若干“可点区域”(像手机 App 的各个页面,每页上有按钮、输入框)。
- 用户点哪里,系统就判断“点的是哪个区域”,然后执行两件事:先给一个点击反馈(比如按键高亮),再跳转到对应页面或在本页刷新显示。
- 有的页面会显示实时数据(如电压、电流、功率),有的页面让用户输入或选择(如键盘输入数字、点应用生效),数据在页面之间按设定好的规则传递。
整体就像一本电子菜单:主页是目录,点某一项就进入子页;子页里可以看数据、改参数、再点“应用”或“返回”,系统按设计好的路线跳转并更新显示。
架构框架图(一看就懂)
1. 整体框架:谁管什么
┌─────────────────────────────────────────────────────────────────────────┐
│ 用 户 操 作 │
│ (手指点击触摸屏) │
└─────────────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ 菜 单 逻 辑 架 构 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────────────┐ │
│ │ 当前是哪一页│ │ 本页哪些区域 │ │ 点中后:先反馈 → 再跳转/刷新 │ │
│ │ (当前页) │ │ 可以点 │ │ 数据在页面与主控/主机间传递 │ │
│ └──────┬──────┘ └──────┬──────┘ └──────────────┬──────────────────┘ │
│ │ │ │ │
│ └────────────────┴────────────────────────┘ │
│ │ │
└──────────────────────────────────┼──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ 显 示 与 数 据 │
│ (换一页就重画屏;改参数就更新显示/上报主机) │
└─────────────────────────────────────────────────────────────────────────┘
一句话:用户点屏 → 菜单逻辑判断“当前页 + 点的哪个区域” → 先反馈、再跳转或刷新,并按规定传数据 → 屏幕显示更新。
2. 一次点击的完整流程
从用户按下手指到屏幕变化,顺序如下:
用户手指点击
│
▼
┌──────────┐
│ 触摸被检测 │
└─────┬────┘
│
▼
┌──────────────────┐
│ 系统知道:当前是 │
│ 哪一页?点的坐标 │
│ 落在哪个区域? │
└─────┬────────────┘
│
▼
┌──────────────────┐
│ 第一步:点击反馈 │ ← 例如按键高亮,让用户感到“点到了”
│ (可选) │
└─────┬────────────┘
│
▼
┌──────────────────┐
│ 第二步:跳转或刷新 │ ← 去新的一页 或 只刷新本页(如键盘按数字)
└─────┬────────────┘
│
▼
┌──────────────────┐
│ 第三步:按需要 │ ← 例如把输入的参数写回主控、或上报主机
│ 传递/保存数据 │
└─────┬────────────┘
│
▼
屏幕显示更新,用户看到新页面或新数字
3. 页面跳转关系(以参数相关为例)
下图表示:从主页选「参数」入口后,各页之间怎么跳、点哪里会到哪一页。
┌─────────────┐
│ 主页 │
│ (首屏) │
└──────┬──────┘
┌──────────────┼──────────────┐
│ 点「参数显示 │ 点「控件设定 │
│ 与设定」 │ 与传递」 │
▼ │ ▼
┌─────────────┐ │ ┌─────────────┐
│ 主控参数页 │ │ │ 设备/参数 │
│ 电压 电流 功率│ │ │ 设定页 │
└──────┬──────┘ │ └─────────────┘
│ 点「应用」 │
▼ │
┌─────────────┐ │
│ 参数控制页 │◄───────┘ 点「返回」可回到上一页或主页
│ 改电压/电流 │
└──────┬──────┘
┌─────────┼─────────┐
│ 点「电压」│ 点「电流」│ 点「应用」
▼ ▼ ▼
┌─────────┐ ┌─────────────┐
│ 键盘页 │ 点 OK │ 回到主控参数页│
│ 输入数字 │ ──────► │ 并把新值显示 │
└─────────┘ └─────────────┘
图例:箭头 = “点某个区域后去到哪里”;同一页上的多个箭头表示该页有多个可点区域,点不同地方去不同页。
4. 小结:三张图对应什么
| 图 | 说明 |
|---|---|
| 整体框架 | 菜单逻辑在“用户”和“显示与数据”之间,管三件事:当前页、可点区域、点中后的反馈与跳转及数据。 |
| 一次点击流程 | 从“手指点击”到“屏幕更新”的步骤:检测 → 判断区域 → 反馈 → 跳转/刷新 → 数据传递。 |
| 页面跳转关系 | 实际产品里页与页之间怎么连:从主页选入口,进子页,再进键盘或回主控,一目了然。 |
用户用起来是什么样的
开机后
- 屏幕先显示主页(首屏)。
- 主页上通常有几块大区域,例如:
- 「参数显示与设定」:点进去看/设电压、电流等主控参数。
- 「控件设定与传递」:点进去做设备、端口等设定。
点进「参数」这一路(举例)
- 用户在主页点 「参数显示与设定」 → 进入主控参数页,看到当前电压、电流、功率等显示。
- 在主控参数页点 「应用」 → 进入参数控制页,可以改电压、电流的设定值。
- 在参数控制页点 「电压」或「电流」 → 弹出数字键盘页,用户输入数字(可带小数点),点 OK 确认或 Cancel 取消。
- 点 OK 后回到参数控制页,页面上会显示刚才输入的值;再点 「应用」,这些值就正式生效并写回主控页,同时界面跳回主控参数页,用户能看到更新后的电压、电流、功率。
- 任意页面一般都有 「返回上一级」 或 「返回主页」,点一下就回到上一页或主页。
其他入口(如「控件设定与传递」、设备选择等)也是同样的逻辑:点不同区域 → 进入不同页 → 有的只看、有的可改 → 改完通过“应用”或“确认”生效,通过“返回”回到上级或主页。
用一张“地图”理解(不涉及技术)
可以简单想成这样的路线(箭头表示“点某个区域后去到哪里”):
【主页】
/ \
参数显示与设定 控件设定与传递
| |
【主控参数页】 【设备/参数设定页】
显示:电压 电流 功率 …
|
点「应用」
|
【参数控制页】
显示/设定:电压 电流 功率
/ | \
点「电压」 点「电流」 点「应用」
| | |
【键盘页】 【键盘页】 → 回到主控参数页
输入数字 输入数字 (并把设定值写过去)
点 OK 回参数控制页
也就是说:当前在某一页,屏幕上哪些地方能点、点了会去哪个页面、数据怎么生效,都是事先设计好的;用户只要按界面提示点就行,不需要懂技术。
我们这套“菜单逻辑”具体在管什么
用大白话说,这套逻辑主要管三件事:
1. 当前显示的是哪一页
- 系统里有一个**“当前页”**的概念(类似你正在看书的第几页)。
- 用户点屏幕后,系统根据点的位置判断:“这一下是点在了当前页的哪个区域?”
每个区域都提前定义好了:点这里 = 去哪个页面(或留在本页但刷新)。
2. 点中某个区域后要做两件事(按顺序)
- 第一件:点击反馈
让用户马上感觉到“点到了”,比如按键高亮一下。实现方式一般是:事先准备一张“按下态”的图,点中时把那一小块贴到屏幕上。 - 第二件:跳转或刷新
- 如果这个区域对应的是别的页面,就切换到那一页并重新画屏(例如从主页进主控页)。
- 如果对应的是本页自己(例如键盘上按一个数字),就只重新画当前页,用来更新显示(如键盘上方的数字)。
3. 数据在页面之间怎么走
- 有的页面只显示数据(如主控页的电压、电流、功率),数据来自“主控”或“参数设定”里保存的值。
- 有的页面可以改数据(如参数控制页、键盘页):用户改完点 OK/应用,系统就把新值写回“参数”或“主控”,下次打开显示页就看到新数。
- 还有的会通过主机通讯把设定好的参数上报给上位机,或接收上位机下发的参数——这些都由“菜单逻辑”里设计好的路线和接口来完成。
所以:菜单逻辑 = 管“当前是哪一页 + 点哪里会怎样 + 数据在谁和谁之间怎么传”,让整个触摸操作有章可循、不乱套。
对业务和采购有什么意义(能做什么、能扩展什么)
-
对使用方(客户):
操作方式统一:点哪里进哪页、改完点应用生效、想回去就点返回。培训成本低,不容易误操作。 -
对产品与业务:
- 要加新功能时,多数是加新页、新区域、新跳转关系,不用推倒重来。
- 新页面可以“只显示”、也可以“可输入可应用”,按需求在现有框架里接上就行。
- 和主机之间的数据(上报/下发)有固定接口,业务上要改协议或增内容,有清晰位置可扩展。
-
对采购与交付:
- 硬件还是那一套(MCU + 显示驱动 + 触摸芯片),软件通过这套菜单逻辑实现不同产品的界面和流程。
- 换屏、换触摸 IC 时,只要驱动层适配好,上层“页和区域、跳转、数据流”的思维不变,便于维护和做系列产品。
小结(给汇报/评审用)
- 菜单逻辑负责:当前显示哪一页、屏幕上哪些区域可点、点了先反馈再跳转/刷新、数据在页面与主控/主机之间怎么传递。
- 用户感受:像在用一本电子菜单——主页选入口,子页看数据或改参数,改完“应用”生效,“返回”回上级或主页。
- 技术实现上不要求业务/采购掌握,只需知道:我们有一套统一的规则来管“页 + 可点区域 + 跳转 + 数据”,后续加新页、新按钮、新数据项,都在这套规则里扩展即可。
如需更细的操作步骤说明或工程代码(可与深圳市瑞福科技联系)。
- 人机交互HMIDEMO视频可见:
RA6809 的 HMI(人机交互) 开发:菜单逻辑架构设计
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)