跳到主要内容

操作 Steamania 手持编程器 —— 板上 7 键

Steamania 手持编程器(ELAB-N1)有两个人机交互通道:

  1. 主屏幕——自成体系的触摸 UI,经 UART3 与 MCU 串口通信,用手直接点按操作。它的触摸操作不在本手册范围内。
  2. OLED 屏 + 7 个按键——本手册的主角。仅用这 7 个键就能浏览、编写、修改、运行和单步调试程序,管理存档并配置网络。

1. 七个按键​

按键程序可见端口
FunctionPort0 bit 6
UpPort0 bit 0
DownPort0 bit 1
LeftPort0 bit 2
RightPort0 bit 3
EnterPort0 bit 4
BackPort0 bit 5

这 7 个键同时也是程序输入的控制按键:用户程序把它们当作 Port0 的 bit0~6 读取(例如用 TZ 跳转),同一个键既是操作者的按键,也是程序的输入。

2. 全局按键约定(任意页面 · 浏览态)​

操作效果
Left + Right 同按翻页 —— Right 后翻、Left 前翻,循环
翻到 OFF 页熄屏(省电)
按住 Function + 按 Enter恢复显示

翻页在编辑程序行、编辑文件名、运行控制模式下被屏蔽——这些状态下按键另有含义。

3. 页面总览(OLED 屏)​

Left+Right 沿此环形列表翻页;页号即显示寄存器 0x81 的值。每页的具体操作见 §4 逐页指南。

页号名称功能
0x00OFF熄屏
0x01调试状态延时 / AD / PWM / 开关寄存器 / 时基(只读)
0x02(空页)—
0x03(空页)—
0x04收发监视RX/TX 各 16 字节 HEX + 帧计数,帧头反色,Enter 冻结
0x05程序页浏览 / 编辑 / 运行程序 —— 主工作区(§5~§6)
0x06存取页存档:保存 / 载入 / 重命名
0x07外设开关8 个外设 ON/OFF + GPIO 方向编辑
0x08模拟量输入ADS1115 全 16 通道(只读)
0x09蓝牙控制台ROLE / NETID / MADDR 配置
0x0A范例浏览器范例程序浏览与载入
0x0B蓝牙波特率波特率扫描与设置
0x0CSTARNET 配置HELLO / 受控开关 / 心跳周期
0x0D邻居表在线设备与最近上报值
0x0E链路监视最近 5 帧倒序
0x0F链路统计收帧计数 / 本机地址 / 角色
0x10ENV 配置保留
0x15时钟设置时间调整
0x16自检页保留
0x20~0x2F内部寄存器16 页只读查看,覆盖全部 256 个
0x30~0x31文件名页存档文件名一览(只读)

4. 逐页操作指南​

Page 00 —— 熄屏​

不显示内容(省电)。按住 Function + 按 Enter 恢复显示。

Page 01 —— 调试状态​

只读调试页,无按键操作。显示内容:

行内容
Delay set当前系统延时设定(ms)
第 1 行 4 格AD 通道 0~3 电压值
第 2 行 4 格PWM 通道 1~4 占空比
XXXX/XXXX外设开关寄存器 HEX / 外设就绪状态
末行超时标志 / 系统时基当前值 / 目标值

Page 04 —— 收发监视​

收发合页:上半区 RX(最近收到的 16 字节)、下半区 TX(最近发出的 16 字节),各按 2 行 × 8 列显示 HEX。顶行同时显示收/发帧计数 R:nnnnnn T:nnnnnn。

帧头反色高亮——识别到项目三种帧头时,对应字节反白显示:

帧头含义
F1 DD组网链路层帧头
7E精简帧头
AA ? 0A透传帧头

没被高亮的字节就是没通过校验、被丢弃的垃圾包——正好用来讲解"什么样的包会被收下,什么样的会被扔掉"。

按键操作
Enter冻结 / 解冻:把 RX、TX 两组各 16 字节同时定格为快照(顶行整条反白),再按恢复实时。冻结期间新帧不干扰显示

Page 05 —— 程序页(主工作区)​

浏览、编辑、运行、单步调试程序——操作最多的页面,见 §5(浏览与编辑)和 §6(运行控制与单步调试)。

Page 06 —— 存取页(存档管理)​

16 个存档槽位的保存 / 载入 / 重命名。

按键操作
Up / Down选择槽位(> 标记)
Enter载入该槽位程序
按住 Function + Enter保存当前程序到该槽位(不改名)
Function 单按重命名该槽位 → 进入文件名编辑器
Back回到上一页
Left / Right 单按无功能(Left+Right 同按翻页仍有效)

文件名编辑器(Function 单按进入):

按键操作
Up / Down当前字符 ±1(可打印 ASCII 循环;按住 ≥0.5s 自动连变)
Left / Right移动光标(共 16 字符)
Enter确认改名并保存到 Flash
Back放弃,回到槽位列表

Page 07 —— 外设开关页​

9 个条目分两屏显示:ADS1115、BME280、DS1307、TCS34725、PCA9685、WS2812B、HuskyLens、MIDI、GPIO 方向。

按键操作
Up / Down条目间移动(循环)
Left / Right前一屏 / 后一屏(每屏 5 行)
Enter切换选中条目 ON/OFF(开启时自动探测一次;选中 GPIO 方向则进入子页)
Function一键重新探测全部已开启外设(屏显 RETRY)
Back无操作

GPIO 方向子页(在 GPIO 方向条目上按 Enter 进入):Port1 的 8 位方向排成一排。

按键操作
Up当前位设为输入(1)
Down当前位设为输出(0)
Left / Right / Enter左移 / 右移光标(循环)
Back返回列表页,方向自动生效
Function立即强制刷新 GPIO 方向

ENV 模式下,Function 键在本页兼任台账泵开关(教师演示轮询传感器代表)。

Page 08 —— 模拟量输入​

只读。4×4 网格显示 ADS1115 全部 16 个通道读数,无按键操作。

Page 09 —— 蓝牙控制台​

配置蓝牙模块的 ROLE / NETID / MADDR。屏显提示:浏览态 FN:EDIT U/D:ROW,调整态 L/R:ADJ ENT:SET。

按键操作
Up / Down选行(ROLE / NETID / MADDR)
Function进入 / 退出调整模式
Left / Right调整模式下数值 ±1
Enter调整模式下写入模块(SET OK / SET FAIL 提示 1.5s)

Page 0A —— 范例浏览器​

按键操作
Up / Down浏览范例
Enter载入到程序区

Page 0B —— 蓝牙波特率​

进入页面自动扫描当前波特率(FOUND / NO RESP)。

按键操作
Function进入 / 退出编辑
Up / Down选择波特率
Enter ×2连按两次确认写入

Page 0C —— STARNET 配置​

4 行:HELLO、CTRL(受控开关)、HB(心跳周期)、最后上报状态。

按键操作
Up / Down选行
Function进入 / 退出调整模式
Left / Right调整模式下:CTRL 行 = ON/OFF 翻转;HB 行 = OFF→1S→5S→10S 循环
Enter调整模式下在 HELLO 行 = 广播 HELLO(发出 → SENT,2s 未发出 → FAIL)

PASS 透传模式下本页仍可打开,但 HELLO 不发帧、约 2s 后显示 FAIL——这是正常现象,不是故障。

Page 0D —— 邻居表​

显示网络在线设备(B=广播 / P=点对点)及最近上报值。Up / Down 滚动查看。

Page 0E —— 链路监视​

只读。最近 5 帧倒序(类型 / 来源 / 首字节)。

Page 0F —— 链路统计​

只读。收帧计数、本机地址、角色等。

Page 10 —— ENV 配置​

保留页面。

Page 15 —— 时钟设置​

按键操作
Enter唤起调整(光标=年);再按 = 提交退出
Left / Right切字段:年→月→日→时→分→秒
Up / Down当前字段 ±1
Back放弃修改

切出本页自动放弃未提交的修改。

Page 16 —— 自检页​

自检画面,无按键操作。

Page 20 ~ 2F —— 内部寄存器(16 页)​

只读查看内部寄存器,每页 16 个:Page 20 = 0x000x0F … Page 2F = 0xF00xFF。Function 单按进入运行控制模式(见 §6)。

Page 30 ~ 31 —— 文件名页​

只读显示全部存档槽位的文件名。改名走 Page 06 的重命名流程。

5. 程序页深入:浏览与编辑​

OLED 屏每次显示 4 行程序,顶栏显示当前文件名和 [pc]<。

浏览

按键效果
Up / Down滚动 ±4 行
按住 Back + Up/Down滚动 ±128 行
Left / Right滚动 ±16 行
Function+Up / Function+Down跳到第 000 行 / 最后一行
Function+Left / Function+Right滚动 ±64 行
按住 Back ≥ 400ms视图跟随程序计数器(PC)

编辑 —— 在任意行按 Enter,分三个阶段:

  1. 选行 —— Up/Down ±1 行;按住 Enter + Up/Down = ±32;按住 Back + Up/Down = ±128。Enter 或 Right 确认该行;Back/Function 放弃回到浏览。
  2. 选字段 —— 一行程序 = 指令 + P00 + P01 + P10 + P11 共 5 字节。Left/Right 在字段间移动;按住 Back + Left/Right 跳到首/末字段。
  3. 改值 —— Up/Down ±1(0↔255 循环);按住 Enter ×16 加速。Function 切换字节 / 半字节粒度(半字节 = 一位十六进制)。Left+Right 同按将当前字段清零。Enter 写回该行;Back 放弃。
提示

半字节模式适合照指令集敲操作码:inst P-0 P-1 的每一位十六进制都是一个独立光标位置,见指令集。

6. 运行控制与单步调试​

在程序页(或任意寄存器页 0x20~0x2C)单按 Function 进入运行控制模式——顶栏图标反显提示。此时按键变成调试器:

按键操作
Right运行 / 暂停切换(STOP→RUN;RUN→步进模式下暂停)
Left停止并把 PC 归零到第 000 行
Enter执行一行(单步,仅暂停时有效)
Function退出运行控制模式

Up/Down/Back 在此模式下无作用。这就是课件所说的单步调试——用 Right 暂停,再用 Enter 一行一行走,观察寄存器和输出变化。

远程等价操作

空口同样可以用控制帧 opcode 0x07 RUN_CTRL(run / stop / step / n / jump / b)实现这套调试,见 STARNET 相关文档。

7. 开机组合键​

开机时按住以下按键:

开机按住进入
(无)正常启动
Left + Right舵机动作模式(PCA9685 16 路 PWM)
BackENV 模式 —— UART2 让给 AS32 电台(9600-8-N-1),屏显闪烁 @
(预置组合)直接启动某个预置存档 —— 每个存档绑定一个功能和设备 ID
警告

链路模式只在开机时确定;切换模式必须重启。

8. 课件术语对照​

课件说法实际操作
单步调试§6 —— Function 进入,Right 暂停,Enter 逐行走
翻页Left+Right 同按
下载 / 载入范例Page 0A 范例浏览器
改程序§5 编辑流程
点名Page 0C → Function 进入调整 → Enter 发 HELLO,看 Page 0D