嵌入式 HMI 必看:RA6809 芯片菜单逻辑架构与屏控实现–简易说明版本


一分钟看懂

我们这套菜单逻辑架构做的事可以概括成三句:

  1. 屏幕上有很多“页”,每页上有若干“可点区域”(像手机 App 的各个页面,每页上有按钮、输入框)。
  2. 用户点哪里,系统就判断“点的是哪个区域”,然后执行两件事:先给一个点击反馈(比如按键高亮),再跳转到对应页面在本页刷新显示
  3. 有的页面会显示实时数据(如电压、电流、功率),有的页面让用户输入或选择(如键盘输入数字、点应用生效),数据在页面之间按设定好的规则传递。

整体就像一本电子菜单:主页是目录,点某一项就进入子页;子页里可以看数据、改参数、再点“应用”或“返回”,系统按设计好的路线跳转并更新显示。


架构框架图(一看就懂)

1. 整体框架:谁管什么

┌─────────────────────────────────────────────────────────────────────────┐
│                            用  户  操  作                                │
│                        (手指点击触摸屏)                                 │
└─────────────────────────────────┬───────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                         菜 单 逻 辑 架 构                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────────────────┐  │
│  │  当前是哪一页│  │ 本页哪些区域 │  │  点中后:先反馈 → 再跳转/刷新     │   │
│  │  (当前页)  │  │  可以点      │ │  数据在页面与主控/主机间传递      │   │
│  └──────┬──────┘  └──────┬──────┘  └──────────────┬──────────────────┘  │
│         │                │                        │                     │
│         └────────────────┴────────────────────────┘                     │
│                                  │                                      │
└──────────────────────────────────┼──────────────────────────────────────┘
                                   │
                                   ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                        显 示 与 数 据                                    │
│            (换一页就重画屏;改参数就更新显示/上报主机)                    │
└─────────────────────────────────────────────────────────────────────────┘

一句话:用户点屏 → 菜单逻辑判断“当前页 + 点的哪个区域” → 先反馈、再跳转或刷新,并按规定传数据 → 屏幕显示更新。


2. 一次点击的完整流程

从用户按下手指到屏幕变化,顺序如下:

    用户手指点击
          │
          ▼
    ┌──────────┐
    │ 触摸被检测 │
    └─────┬────┘
          │
          ▼
    ┌──────────────────┐
    │ 系统知道:当前是   │
    │ 哪一页?点的坐标   │
    │ 落在哪个区域?     │
    └─────┬────────────┘
          │
          ▼
    ┌──────────────────┐
    │ 第一步:点击反馈   │  ← 例如按键高亮,让用户感到“点到了”
    │ (可选)          │
    └─────┬────────────┘
          │
          ▼
    ┌──────────────────┐
    │ 第二步:跳转或刷新 │  ← 去新的一页 或 只刷新本页(如键盘按数字)
    └─────┬────────────┘
          │
          ▼
    ┌──────────────────┐
    │ 第三步:按需要    │  ← 例如把输入的参数写回主控、或上报主机
    │ 传递/保存数据     │
    └─────┬────────────┘
          │
          ▼
    屏幕显示更新,用户看到新页面或新数字

3. 页面跳转关系(以参数相关为例)

下图表示:从主页选「参数」入口后,各页之间怎么跳、点哪里会到哪一页。

                            ┌─────────────┐
                            │    主页     │
                            │  (首屏)   │
                            └──────┬──────┘
                    ┌──────────────┼──────────────┐
                    │ 点「参数显示  │  点「控件设定  │
                    │  与设定」    │  与传递」      │
                    ▼              │              ▼
            ┌─────────────┐        │      ┌─────────────┐
            │ 主控参数页   │        │      │ 设备/参数   │
            │ 电压 电流 功率│        │     │ 设定页      │
            └──────┬──────┘        │      └─────────────┘
                   │ 点「应用」     │
                   ▼               │
            ┌─────────────┐        │
            │ 参数控制页   │◄───────┘  点「返回」可回到上一页或主页
            │ 改电压/电流  │
            └──────┬──────┘
         ┌─────────┼─────────┐
         │ 点「电压」│ 点「电流」│ 点「应用」
         ▼         ▼         ▼
    ┌─────────┐         ┌─────────────┐
    │ 键盘页   │ 点 OK   │ 回到主控参数页│
    │ 输入数字 │ ──────► │ 并把新值显示 │
    └─────────┘         └─────────────┘

图例:箭头 = “点某个区域后去到哪里”;同一页上的多个箭头表示该页有多个可点区域,点不同地方去不同页。


4. 小结:三张图对应什么

说明
整体框架 菜单逻辑在“用户”和“显示与数据”之间,管三件事:当前页、可点区域、点中后的反馈与跳转及数据。
一次点击流程 从“手指点击”到“屏幕更新”的步骤:检测 → 判断区域 → 反馈 → 跳转/刷新 → 数据传递。
页面跳转关系 实际产品里页与页之间怎么连:从主页选入口,进子页,再进键盘或回主控,一目了然。

用户用起来是什么样的

开机后

  • 屏幕先显示主页(首屏)。
  • 主页上通常有几块大区域,例如:
    • 「参数显示与设定」:点进去看/设电压、电流等主控参数。
    • 「控件设定与传递」:点进去做设备、端口等设定。

点进「参数」这一路(举例)

  1. 用户在主页点 「参数显示与设定」 → 进入主控参数页,看到当前电压、电流、功率等显示。
  2. 在主控参数页点 「应用」 → 进入参数控制页,可以改电压、电流的设定值。
  3. 在参数控制页点 「电压」或「电流」 → 弹出数字键盘页,用户输入数字(可带小数点),点 OK 确认或 Cancel 取消。
  4. 点 OK 后回到参数控制页,页面上会显示刚才输入的值;再点 「应用」,这些值就正式生效并写回主控页,同时界面跳回主控参数页,用户能看到更新后的电压、电流、功率。
  5. 任意页面一般都有 「返回上一级」「返回主页」,点一下就回到上一页或主页。

其他入口(如「控件设定与传递」、设备选择等)也是同样的逻辑:点不同区域 → 进入不同页 → 有的只看、有的可改 → 改完通过“应用”或“确认”生效,通过“返回”回到上级或主页


用一张“地图”理解(不涉及技术)

可以简单想成这样的路线(箭头表示“点某个区域后去到哪里”):

                    【主页】
                 /          \
    参数显示与设定          控件设定与传递
           |                      |
     【主控参数页】           【设备/参数设定页】
     显示:电压 电流 功率          …
           |
        点「应用」
           |
     【参数控制页】
     显示/设定:电压 电流 功率
      /        |        \
  点「电压」 点「电流」  点「应用」
     |          |           |
 【键盘页】  【键盘页】   → 回到主控参数页
  输入数字    输入数字      (并把设定值写过去)
  点 OK 回参数控制页

也就是说:当前在某一页,屏幕上哪些地方能点、点了会去哪个页面、数据怎么生效,都是事先设计好的;用户只要按界面提示点就行,不需要懂技术。


我们这套“菜单逻辑”具体在管什么

用大白话说,这套逻辑主要管三件事:

1. 当前显示的是哪一页

  • 系统里有一个**“当前页”**的概念(类似你正在看书的第几页)。
  • 用户点屏幕后,系统根据点的位置判断:“这一下是点在了当前页的哪个区域?”
    每个区域都提前定义好了:点这里 = 去哪个页面(或留在本页但刷新)。

2. 点中某个区域后要做两件事(按顺序)

  • 第一件:点击反馈
    让用户马上感觉到“点到了”,比如按键高亮一下。实现方式一般是:事先准备一张“按下态”的图,点中时把那一小块贴到屏幕上。
  • 第二件:跳转或刷新
    • 如果这个区域对应的是别的页面,就切换到那一页并重新画屏(例如从主页进主控页)。
    • 如果对应的是本页自己(例如键盘上按一个数字),就只重新画当前页,用来更新显示(如键盘上方的数字)。

3. 数据在页面之间怎么走

  • 有的页面只显示数据(如主控页的电压、电流、功率),数据来自“主控”或“参数设定”里保存的值。
  • 有的页面可以改数据(如参数控制页、键盘页):用户改完点 OK/应用,系统就把新值写回“参数”或“主控”,下次打开显示页就看到新数。
  • 还有的会通过主机通讯把设定好的参数上报给上位机,或接收上位机下发的参数——这些都由“菜单逻辑”里设计好的路线和接口来完成。

所以:菜单逻辑 = 管“当前是哪一页 + 点哪里会怎样 + 数据在谁和谁之间怎么传”,让整个触摸操作有章可循、不乱套。


对业务和采购有什么意义(能做什么、能扩展什么)

  • 对使用方(客户)
    操作方式统一:点哪里进哪页、改完点应用生效、想回去就点返回。培训成本低,不容易误操作。

  • 对产品与业务

    • 要加新功能时,多数是加新页、新区域、新跳转关系,不用推倒重来。
    • 新页面可以“只显示”、也可以“可输入可应用”,按需求在现有框架里接上就行。
    • 和主机之间的数据(上报/下发)有固定接口,业务上要改协议或增内容,有清晰位置可扩展。
  • 对采购与交付

    • 硬件还是那一套(MCU + 显示驱动 + 触摸芯片),软件通过这套菜单逻辑实现不同产品的界面和流程。
    • 换屏、换触摸 IC 时,只要驱动层适配好,上层“页和区域、跳转、数据流”的思维不变,便于维护和做系列产品。

小结(给汇报/评审用)

  • 菜单逻辑负责:当前显示哪一页、屏幕上哪些区域可点、点了先反馈再跳转/刷新、数据在页面与主控/主机之间怎么传递
  • 用户感受:像在用一本电子菜单——主页选入口,子页看数据或改参数,改完“应用”生效,“返回”回上级或主页。
  • 技术实现上不要求业务/采购掌握,只需知道:我们有一套统一的规则来管“页 + 可点区域 + 跳转 + 数据”,后续加新页、新按钮、新数据项,都在这套规则里扩展即可。

如需更细的操作步骤说明工程代码(可与深圳市瑞福科技联系)。

  • 人机交互HMIDEMO视频可见:

    RA6809 的 HMI(人机交互) 开发:菜单逻辑架构设计

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐