Serial 是一个嵌入式串口调试技能,面向 UART/COM 端口的观察与命令交互,主要用于嵌入式 bring-up(启动调试)阶段。
用途:在开发板、MCU 固件调试或串口设备联调时,帮助用户发现串口、查看设备输出、发送命令或二进制数据,并保留日志证据。
主要能力:
- 扫描可用串口;
- 监控文本输出,支持过滤条件与时间戳;
- 发送文本或十六进制负载,可选择追加 CR/LF 并等待响应;
- 将二进制流以十六进制转储形式查看;
- 将日志记录为文本、CSV 或 JSON;
- 使用 mux 辅助程序,在配置后让 monitor、log、send 共享同一硬件端口。
使用方式: 工作区级配置位于 .embeddedskills/config.json,示例包含 port、baudrate、bytesize、parity、stopbits、encoding、timeout_sec、log_dir 等字段。参数优先级为:CLI 参数 > 工作区配置 > .embeddedskills/state.json > 默认值。
命令示例:
- 扫描:python <skill_dir>\scripts\serial_scan.py --json
- 监控:python <skill_dir>\scripts\serial_monitor.py --port COM3 --baudrate 115200 --timestamp --timeout 10
- 发送文本:python <skill_dir>\scripts\serial_send.py --port COM3 --baudrate 115200 "AT" --crlf --wait-response --json
- 发送十六进制:python <skill_dir>\scripts\serial_send.py --port COM3 --baudrate 115200 "01 03 00 00 00 02" --hex --json
- 十六进制转储:python <skill_dir>\scripts\serial_hex.py --port COM3 --baudrate 115200 --timeout 10
- 日志:python <skill_dir>\scripts\serial_log.py --port COM3 --baudrate 115200 --duration 30 --timestamp --json
适用场景:MCU 固件调试时扫描端口并确认适配器、监控复位/启动横幅输出、无输出时排查波特率、TX/RX 方向、电压域、固件 UART 初始化及当前 HEX 是否已烧录;发送命令时先发送一个最小请求并等待响应;在修改固件前先记录日志证据。
限制与规则:除非用户要求或任务明确需要,否则不发送数据;存在多个端口时不猜测端口,应询问或列出候选;不猜测波特率,应使用项目配置、固件常量、原理图说明或用户提供的值;对未知设备优先被动监控或记录;二进制协议使用十六进制并记录确切字节;端口忙时报告可能原因(其他终端、IDE 监视器、烧录工具或 mux 状态);使用 mux 时警告多个写入者可能破坏串口流。
收费、价格、平台支持范围等事实暂未提供。