发送/接收选 **ASCII** 还是 **HEX**,完全取决于设备协议语义,不是「高级/低级」之分。
### ASCII(文本)模式
适合人读内容:
- `Serial.println` 日志、`OK`/`ERROR`
- GPS NMEA:`$GPRMC,...`
- ESP AT:`AT+GMR\r\n`
- 行协议命令
助手把字节按当前字符集显示成字符;发送时也可配合 `\r` `\n` 转义。
### HEX(十六进制)模式
适合二进制紧凑帧:
- **Modbus RTU**、自定义传感器帧、带 CRC 的包
- 含 `0x00` 等非打印字节的协议
此时 `01 03 00 00` 是四个指令字节,不是字符 "0" "1"。必须用 HEX 编辑/监视,才能核对 CRC 与字段边界。
### 怎么选(口诀)
- 用记事本能读懂 → ASCII
- 字段是寄存器地址/功能码/校验 → HEX
- 两者混合:日志 ASCII + 偶发二进制 → 接收开 HEX 对照,或分段调试
### 常见误区
- 把 RTU 帧当文本发送,多了空格或 `\r\n`,CRC 全错。
- ASCII 下看「乱码」其实是二进制协议,应切 HEX。
- 中文日志乱:先分清编码(GBK/UTF-8),与 HEX/ASCII 开关是两层问题。
在 Web Serial Pro 中可一键切换显示与发送格式;联调时建议 **接收长期开 HEX 旁路**,避免「看起来像字、其实是帧」的误判。