专为嵌入式开发者设计的高效串口调试工具
版本 1.2.1 | 2026-06-22
快速开始 • 核心功能 • 高级功能 • 更新历史 • 开发文档
GHowe 串口调试助手是一个功能丰富的串口调试工具,基于 PyQt5 构建,提供直观的界面、强大的命令管理、丰富的特殊指令支持,让串口调试变得简单高效。
- ✅ 优化模块模板导入 - 先解析再批量刷新 UI,并增加导入/导出进度反馈
- ✅ 新增根据文本添加多行 - 支持纯文本和模板 CSV 两种输入格式
- ✅ 改进模板导入容错 - 模板格式错误时可重新选文件或按纯文本导入
- ✅ 优化左侧配置区布局 - 控件随侧边栏宽度自适应,端口下拉框紧凑显示并保留完整提示
- ✅ 修复插件窗口层级 - 内置工具窗口可正常前后切换、多开,并保留可选置顶
- ✅ 修复接收区偶发空行 - 合并跨串口包拆开的 CRLF,避免显示层产生额外空行
- ✅ 分离 GUI/CLI 打包 - 同时生成兼容版、GUI 专用版和 CLI 专用版,配置文件名自动忽略 _GUI/_CLI 后缀
👉 查看完整更新: 版本更新记录
- 智能命令管理 - 支持命令模块化组织、批量操作、模板导入导出
- 特殊指令系统 - 8 种高级指令(mode、modeend、delay、SendHex、BaudRate、SetEndlog、SendMode、StopContinuous),解锁自动化测试能力
- 灵活的发送模式 - 支持单次发送、连续发送、循环发送,精准控制发送间隔(1ms - 9999ms)
- 智能输出过滤 - 按来源分类显示(发送、接收、系统、错误),快速定位问题
- 自动状态保存 - 程序关闭时自动保存所有配置、命令、界面布局,下次启动自动恢复
- 远程控制 - 支持局域网主控端/远程端串口控制
- CLI 自动化 - 支持命令行发送字符串、十六进制和特殊命令
- 外部工具集成 - 支持固件下载工具、进制转换器等,完整传递串口配置和 ACK 参数
- 🎯 工具注册表机制 - 集中管理所有工具配置,易于扩展
- ⚡ 非阻塞异步执行 - 使用 QTimer 实现特殊指令,UI 始终响应
- 🔄 版本自动兼容 - 配置文件自动迁移,无需手动升级
- 🖥️ GUI/CLI 独立入口 - 兼容版、GUI 专用版和 CLI 专用版可同时打包,默认共用同一份配置
- 🌐 局域网远程控制 - 支持主控端/远程端协同控制串口设备
- 🎨 模块化架构 - 清晰的代码结构,便于维护和二次开发
- 🔧 完整串口参数 - 支持数据位、校验位、停止位完整配置传递
- 📋 标准 CSV 处理 - 符合 RFC 4180 标准,兼容 Excel/LibreOffice
界面布局说明:
- 左侧:命令表格区域(支持批量操作)
- 中间:接收显示区(实时显示通信数据)
- 右侧:配置面板(串口设置、发送设置)
- 嵌入式设备调试 - GPS 模块、GSM 模块、传感器等
- 寄存器配置 - 芯片寄存器读写、参数配置
- 协议测试 - AT 指令测试、自定义通信协议验证
- 批量测试 - 设备稳定性测试、压力测试
- Python: 3.6+
- 操作系统: Windows / Linux / macOS
- 依赖库:
- PyQt5 (≥5.15.0) - GUI 框架
- pyserial (≥3.5) - 串口通信
方式一:使用 pip 安装依赖
# 克隆或下载项目
git clone <repository_url>
cd serial_tool_project
# 安装依赖
pip install PyQt5 pyserial
# 或使用 requirements.txt (如果提供)
pip install -r requirements.txt方式二:直接使用可执行文件
下载打包好的可执行文件(.exe),无需安装 Python 环境,双击即可运行。
开发环境运行:
# 使用 Python 模块方式运行(推荐)
python -m serial_tool_project.main
# 或直接运行脚本
cd serial_tool_project
python main.py生产环境运行:
# Windows
.\GHowe串口助手.exe
# Linux/macOS
./GHowe串口助手[配置流程截图占位符 - 待添加配置界面截图]
步骤 1:配置串口
- 在"基本设置"区选择 COM 端口(如 COM3)
- 设置波特率(如 115200)
- 设置数据位、校验位、停止位(通常使用默认值)
- 点击"连接"按钮
步骤 2:输入命令
- 在命令输入框中输入要发送的命令
- 例如:
AT\r\n(AT 指令 + 回车换行)
步骤 3:发送命令
- 按 Enter 键快速发送(推荐)
- 或点击"发送"按钮
步骤 4:查看结果
- 在"接收区"查看设备返回的数据
- 发送的命令和接收的数据以不同颜色区分
快速开始流程图:
安装依赖 → 启动应用 → 配置串口 → 输入命令 → 发送 → 查看结果
↓ ↓ ↓ ↓ ↓ ↓
pip安装 运行main.py 选择端口 输入AT命令 按Enter 接收区显示
CLI 模式使用配置文件中的 state.basic_settings 打开串口, 并按 state 中的显示设置输出发送和接收数据。
# 发送普通字符串
python main.py --cli --send "AT"
GHowe_串口调试助手_CLI.exe --send "AT"
# 指定配置文件
python main.py --cli --config custom_config.json --send "AT"
# 发送十六进制数据
python main.py --cli --send "SendHex:AA 55 01"
# 修改配置中的 COM 口和波特率
python main.py --cli --port COM5
python main.py --cli --baudrate 115200
# 使用特殊命令修改串口配置
python main.py --cli --send "ComPort:COM5"
python main.py --cli --send "BaudRate:115200"
python main.py --cli --send "SetEndlog:\r\n"
# 按配置文件 state.commands 中的模块发送
python main.py --cli --send "Mode:初始化"
python main.py --cli --send "SendMode:初始化"常用参数:
| 参数 | 说明 |
|---|---|
--cli |
启用 CLI 模式;CLI 专用 exe 中可省略 |
--send "命令" |
发送字符串或特殊命令 |
--config 文件 |
指定配置文件 |
--port COMx |
更新配置中的 COM 口 |
--baudrate 115200 |
更新配置中的波特率 |
--read-timeout 300 |
发送后读取等待时间, 单位 ms |
完整说明见 命令行使用指南。
支持完整的串口参数配置,满足各种设备通信需求。
配置参数:
| 参数 | 可选值 | 说明 |
|---|---|---|
| 端口 | COM1, COM2, ... / ttyUSB0, ... | 串口设备名称 |
| 波特率 | 9600, 115200, 230400, ... | 通信速率 |
| 数据位 | 5, 6, 7, 8 | 每字节的数据位数 |
| 校验位 | None, Even, Odd, Mark, Space | 奇偶校验方式 |
| 停止位 | 1, 1.5, 2 | 停止位数量 |
操作步骤:
- 点击端口下拉框,选择目标串口
- 设置波特率(常用:9600、115200)
- 其他参数保持默认或根据设备要求调整
- 点击"连接"按钮建立连接
连接状态提示:
- 连接成功:按钮变为"断开",系统区显示"串口已连接"
- 连接失败:系统区显示错误信息(如"端口被占用")
灵活的命令管理系统,支持创建、编辑、组织和发送多条命令。
命令表格功能:
- 命令编辑 - 双击命令单元格直接编辑
- 勾选控制 - 勾选框控制是否发送该命令
- 注释说明 - 为每条命令添加注释,便于理解和维护
- 拖拽排序 - 拖拽行来调整命令顺序
- 右键菜单 - 插入行、删除行、批量操作
发送方式:
-
单次发送:
- 在命令输入框输入命令,按 Enter 键
- 或点击"发送"按钮
-
批量发送:
- 勾选表格中要发送的命令
- 点击"发送选中"按钮
- 按照勾选顺序依次发送
-
连续发送:
- 设置"连续间隔"(毫秒)
- 点击"连续发送"按钮
- 持续按间隔重复发送
-
循环发送:
- 勾选"循环发送"
- 设置"循环间隔"(毫秒)
- 发送完一轮后等待循环间隔,然后重新开始
特殊指令是 GHowe 串口助手的核心功能之一,支持 8 种高级指令,实现复杂的自动化调试流程。
作用:将相关的命令组织到一个模块中,便于管理和切换。
格式:mode:[模块名称]
示例:
| 序号 | 命令 | 说明 |
|---|---|---|
| 1 | mode:初始化 | 定义"初始化"模块开始 |
| 2 | AT+CMGF=1 | 设置短信文本模式 |
| 3 | AT+CSCA= | 读取信息中心号码 |
| 4 | mode:业务处理 | 切换到"业务处理"模块 |
| 5 | AT+CMGS="电话" | 发送短信 |
应用场景:
- 按功能分组管理复杂的命令序列
- 快速切换不同的测试模块
- 配合 SendMode 指令实现模块间跳转
配置说明:
- 模块名称支持中文和英文
- 每个模块可以包含任意数量的命令
- 模块之间自动隔离,互不影响
作用:在命令序列中插入延迟,等待设备响应或状态稳定。
格式:delay:500(表示延迟 500 毫秒)
示例:
AT+CMGF=1
delay:1000 # 等待 1 秒,确保设备处理完成
AT+CSCA? # 查询信息中心号码
delay:500 # 等待 0.5 秒
AT+CMGL="ALL" # 列出所有短信
应用场景:
- 寄存器配置间隔 - 写入寄存器后等待生效
- 设备启动等待 - 设备上电后等待初始化完成
- 命令同步延迟 - 确保前一条命令执行完毕
技术特点:
- 非阻塞实现:使用 QTimer,不会冻结界面
- 精度:毫秒级(1ms - 9999ms)
- 可视化:执行过程中在系统区显示"延迟中..."
作用:直接发送原始十六进制字节数据,不进行任何编码转换。
格式:SendHex:48656C6C6F(会自动格式化为 48 65 6C 6C 6F)
示例:
SendHex:FF # 发送单字节 0xFF
SendHex:01 40 10 85 00 88 1 # 寄存器写入指令
SendHex:48 65 6C 6C 6F # 发送 "Hello" 对应的十六进制
实时格式化功能:
- 输入时自动添加空格,提高可读性
- 自动过滤非法字符(只保留 0-9, A-F)
- 光标位置智能修正
应用场景:
- 二进制协议 - 发送不可打印字符
- 寄存器操作 - 直接写入寄存器地址和数值
- 固件升级 - 发送固件数据包
注意事项:
- 十六进制字符不区分大小写(FF 和 ff 等效)
- 空格会被自动忽略
- 每两个字符代表一个字节(如
FF= 255)
作用:在命令执行过程中动态切换串口波特率。
格式:BaudRate:9600
执行流程:
正常通信(当前波特率 115200)
↓
遇到 BaudRate:9600
↓
断开当前串口连接
↓
以新波特率 9600 重新连接
↓
继续执行后续命令(使用 9600 波特率)
示例:
AT+CMGF=1 # 使用初始波特率 115200
BaudRate:9600 # 切换到 9600
AT+CSCA= # 使用 9600 波特率发送
BaudRate:115200 # 切换回 115200
应用场景:
- 某些设备启动时需要不同的波特率
- 测试设备在不同波特率下的响应
- 自适应波特率调试
注意事项:
- 切换波特率时会短暂断开连接(通常 < 100ms)
- 设备也需要支持波特率切换
- 建议在切换后添加
delay指令,等待连接稳定
作用:动态修改发送命令的行尾标识符(换行符、回车符等)。
支持的值:
| 值 | 含义 | 字节 | 使用场景 |
|---|---|---|---|
| None | 无结尾符 | (空) | 二进制协议 |
| \r\n | 回车 + 换行 | 0x0D 0x0A | Windows 风格(最常用) |
| \r | 仅回车 | 0x0D | 旧式 Mac 系统 |
| \n | 仅换行 | 0x0A | Linux/Unix 系统 |
示例:
SetEndlog:\r\n
AT+CMGF=1 # 实际发送:AT+CMGF=1\r\n
SetEndlog:\n
AT+CSCA # 实际发送:AT+CSCA\n
SetEndlog:None
SendHex:FF 00 12 # 实际发送:FF 00 12(无结尾符)
应用场景:
- 不同设备对结尾符的要求不同
- 测试设备对不同结尾符的兼容性
- 二进制协议通常不需要结尾符
注意事项:
- 设置后影响所有后续命令
- 可以随时修改
- 与 SendHex 指令配合使用时特别有用
作用:显式结束当前 mode 模块定义,让后续命令重新归入默认模块。
格式:modeend:0 或 modeend:
示例:
mode:初始化
AT+RST
AT+GMR
modeend:0
AT+CSQ # 这里开始重新归入默认模块
应用场景:
- 在一个模板中显式结束某个模块,避免后续命令继续归属到该模块
- 导入导出模板时保持模块边界清晰
- 配合
SendMode、循环发送使用时,更精确地控制模块范围
注意事项:
modeend本身主要用于模块边界标记,不发送实际串口数据- 遇到
modeend后,后续命令会重新归入默认模块 - 建议与
mode:成对使用,提升大型命令模板的可读性
作用:在循环发送过程中,临时跳转到指定模块执行一次。
格式:SendMode:模块名称
执行流程:
正在循环发送"主流程"模块
↓
遇到 SendMode:初始化
↓
暂停当前模块,跳转到"初始化"模块
↓
执行"初始化"模块的所有命令
↓
返回"主流程"模块,继续循环
示例:
| 模块 | 命令 | 说明 |
|---|---|---|
| 主流程 | AT+CMGL="ALL" | 列出所有短信 |
| 主流程 | delay:1000 | 等待 1 秒 |
| 主流程 | SendMode:检测 | 跳转到"检测"模块 |
| 检测 | AT+CSQ | 查询信号强度 |
| 检测 | AT+CREG? | 查询网络注册状态 |
应用场景:
- 定期执行检测任务(如每 10 次循环检测一次信号)
- 条件性触发特定操作流程
- 复杂的自动化测试场景
注意事项:
- 跳转的模块必须已经定义(使用
mode:模块名称) - 跳转执行完毕后自动返回原模块
- 支持嵌套跳转(但不建议过度嵌套)
作用:控制连续发送流程,可选择提前结束本轮,或完全停止连续发送与循环发送。
格式:StopContinuous:0、StopContinuous:1 或 StopContinuous:
参数说明:
| 参数 | 行为 | 说明 |
|---|---|---|
0 或空 |
提前结束本轮 | 跳过当前轮剩余命令,等待循环间隔后进入下一轮(默认) |
1 |
完全停止 | 立即停止连续发送,并取消循环发送 |
示例:
mode:主流程
AT+TEST1
AT+TEST2
StopContinuous:0
AT+TEST3 # 本轮不会继续执行
mode:主流程
AT+TEST1
StopContinuous:1 # 立即停止连续发送和循环发送
AT+TEST2 # 不会继续执行
系统消息:
StopContinuous:0或空参数:显示StopContinuous: 提前结束本轮发送StopContinuous:1:显示StopContinuous: 已停止连续发送和循环发送
应用场景:
- 在循环测试中满足条件后立即结束本轮,缩短等待时间
- 在异常场景下彻底停止自动化发送流程
- 与
mode、SendMode配合,实现更细粒度的流程控制
注意事项:
- 该指令主要用于连续发送或循环发送流程控制
- 参数留空时等同于
0 StopContinuous:0会进入下一轮循环,StopContinuous:1才会彻底停止
支持按来源分类显示日志,帮助快速定位问题。
四种输出来源:
| 来源 | 颜色 | 内容说明 | 典型示例 |
|---|---|---|---|
| 发送 | 蓝色 | 你发送的所有命令 | [发送] AT+CMGF=1 |
| 接收 | 黑色 | 设备返回的数据 | [接收] OK |
| 系统 | 灰色 | 工具的系统消息 | [系统] 串口已连接 |
| 错误 | 红色 | 错误和异常信息 | [错误] 端口打开失败 |
过滤器勾选:
- ☑ 发送 - 显示所有发送的命令
- ☑ 接收 - 显示设备返回的数据
- ☑ 系统 - 显示系统消息
- ☑ 错误 - 显示错误信息
使用技巧:
- 只勾选"接收" - 集中查看设备回复,隐藏发送命令和系统消息
- 只勾选"错误" - 快速定位问题所在
- 全部勾选 - 完整的调试日志,适合详细分析
- 取消勾选"系统" - 减少干扰信息,专注于数据交互
时间戳功能:
- 勾选"显示时间戳":每条输出前显示精确时间(精确到毫秒)
- 示例:
[14:32:15.123] [发送] AT+CMGF=1 - 用途:分析命令执行时序、性能问题排查
其他功能:
- 暂停显示 - 暂停接收区更新,方便查看历史数据
- 清空输出 - 清空接收区所有内容
- 自动滚动 - 自动滚动到最新数据(可关闭)
针对频繁编辑命令列表的场景,提供快速批量操作能力。
功能:选中多行命令,一次性勾选/取消勾选。
操作步骤:
- 按住 Shift 键,点击起始行和结束行(或按住 Ctrl 键多选)
- 点击任意一行的勾选框
- 所有选中行同步勾选/取消勾选
应用场景:
- 快速勾选一组相关命令
- 批量禁用某些调试命令
[批量勾选演示截图占位符 - 待添加]
功能:快速插入多个空行。
操作步骤:
- 右键点击命令表格
- 选择"批量插入多行"
- 输入插入数量(如 10)
- 在当前位置插入指定数量的空行
应用场景:
- 为新的测试模块预留空间
- 快速扩展命令列表
功能:一次性删除多个选中的行。
操作步骤:
- 选中要删除的多行命令(Shift 或 Ctrl 多选)
- 右键点击,选择"批量删除选中行"
- 确认删除
应用场景:
- 清理无用的命令
- 快速删除整个测试模块
| 快捷键 | 功能 | 说明 |
|---|---|---|
| Enter | 快速发送当前命令 | 在命令输入框按 Enter 立即发送 |
| Ctrl+H | 唤起进制转换器 | 选中数值后快速转换 |
支持将命令列表保存为模板文件,方便复用和分享。
功能:将当前命令列表保存为文件。
操作步骤:
- 点击菜单 → "导出命令"
- 选择输出格式:
- CSV (推荐) - 通用电子表格格式,可用 Excel 打开
- TXT - 纯文本格式
- 选择保存位置
- 点击"保存"
保存内容:
- 命令内容
- 勾选状态(true/false)
- 注释说明
当前导入导出增强:
- 导入与导出过程显示弹窗进度条
- 支持中途取消操作
- 导入取消后自动回滚到导入前状态
- 导出先写入临时文件,再原子替换目标文件,避免取消时覆盖原文件
CSV 格式示例:
选中,命令,注释
true,AT+CMGF=1,设置文本模式
true,AT+CSCA=,读取信息中心号码
false,AT+CMGD=0,删除所有短信功能:加载已保存的命令模板。
操作步骤:
- 点击菜单 → "导入命令"
- 选择要导入的文件(.csv 或 .txt)
- 选择导入模式:
- 覆盖 - 清空现有命令,使用导入的命令
- 追加 - 将导入的命令添加到列表末尾
- 确认导入
应用场景:
- 为不同的项目/设备维护不同的模板
- 团队共享命令模板
- 快速恢复常用的测试流程
最佳实践:
- 定期导出备份,防止意外丢失
- 为模板文件使用描述性名称(如
GPS模块_初始化命令.csv) - 命令注释要清晰,便于 6 个月后回顾
支持两种自动化发送模式,适应不同的测试场景。
特点:按照固定时间间隔重复发送选中的命令。
用途:
- 定时状态查询
- 周期性数据上报
- 持续性压力测试
配置流程:
- 在命令表格中勾选要持续发送的命令
- 设置"连续间隔"(毫秒),如
100ms - 点击"连续发送"按钮
- 命令以 100ms 的间隔重复发送,直到点击"停止"
示例:
命令: AT+CSQ (勾选)
连续间隔: 1000ms
结果: 每 1 秒查询一次信号强度
特点:完整发送一轮选中的命令,然后等待一段时间后重新开始。
用途:
- 完整的工作流程验证
- 周期性测试批次
- 复杂的自动化测试序列
配置流程:
- 勾选需要循环的命令序列
- 设置"循环间隔"(毫秒),如
1000ms - 勾选"循环发送"
- 工具会:
- 一次性发送所有勾选的命令
- 等待 1000ms
- 重复上述过程
执行时间线(示例):
时间 0ms | 发送命令 1
时间 100ms | 发送命令 2 (间隔 100ms)
时间 200ms | 发送命令 3 (间隔 100ms)
时间 300ms | 一轮完成,等待循环间隔
时间 1300ms | 循环开始,重新发送命令 1
时间 1400ms | 发送命令 2
时间 1500ms | 发送命令 3
时间 1600ms | 一轮完成,等待循环间隔
时间 2600ms | 下一轮循环开始...
智能优化:
- 在发送过程中遇到
delay:XXX指令会自动应用延迟 - 遇到
SendMode:xxx指令会临时切换模块 - 接收区实时显示发送的命令和返回的结果
使用 mode: 指令将命令按功能分组管理。
优势:
- 清晰组织 - 将相关命令归类到一个模块
- 快速切换 - 在模块下拉框中选择不同模块
- 模块跳转 - 使用
SendMode指令在模块间跳转
示例:
mode:初始化
AT+CMGF=1
AT+CSCA=
delay:1000
mode:发送短信
AT+CMGS="13800138000"
Hello World!
mode:查询短信
AT+CMGL="ALL"
模块切换:
- 在模块下拉框中选择"初始化",只显示初始化模块的命令
- 在模块下拉框中选择"发送短信",切换到发送短信模块
配合循环发送:
- 选择"初始化"模块,勾选循环发送,只循环执行初始化命令
- 选择"查询短信"模块,勾选循环发送,定期查询短信
支持集成外部工具,扩展功能。
功能:快速转换十六进制、十进制、二进制、八进制。
启动方式:
方式一:快捷键启动
- 在接收区或命令框选中一个数值(如
0x1F或255) - 按 Ctrl+H
- 转换器弹出,自动填充选中的值
方式二:右键菜单启动
- 在接收区或命令框右键
- 选择"十进制转换器"
- 手动输入要转换的值
功能示例:
输入: FF
自动计算:
十六进制: FF
十进制: 255
二进制: 11111111
八进制: 377
功能:集成第三方工具(如协议分析器、日志查看器等)。
配置步骤:
- 点击主界面左下角"配置"按钮
- 在"工具设置"选项卡找到目标工具
- 勾选"启用"
- 点击"浏览..."选择工具的可执行文件(.exe)或 Python 脚本(.py)
- 保存配置
支持的工具类型:
- Python 脚本 (.py) - 使用 python.exe 执行
- 可执行文件 (.exe) - 直接运行
- 其他脚本 - 需要安装对应运行环境
[工具配置对话框截图占位符 - 待添加]
应用会自动保存所有工作状态,重新启动时恢复之前的环境。
自动保存的内容:
| 保存内容 | 恢复效果 |
|---|---|
| 命令列表 | 所有命令、勾选状态、注释 |
| 串口配置 | 波特率、数据位、校验位等 |
| 发送设置 | 结尾符、连续间隔、循环间隔、颜色 |
| 界面布局 | 各面板大小、是否折叠 |
| 输出过滤设置 | 各输出来源的勾选状态 |
| 最后使用目录 | 文件导入导出时的默认目录 |
工作流程示例:
周一 10:00
├─ 输入 30 条命令
├─ 配置特殊指令和延迟
├─ 调整界面布局
└─ 工作到一半时关闭应用
→ 自动保存所有状态到 main_config.json
周二 09:00
├─ 启动应用
└─ 一切恢复如初:命令、配置、布局完全一致
→ 无需重新配置,立即继续工作
配置文件说明:
- 位置:项目根目录下的
main_config.json - 格式:JSON 格式,可手动编辑(高级用户)
- 备份建议:定期备份配置文件,防止意外丢失
手动清除历史(如需重置):
- 关闭应用
- 删除或重命名
main_config.json - 重新启动应用(将使用默认配置)
可能原因:
- 串口正在被其他程序使用(如其他调试工具、虚拟机等)
- 权限不足(Linux/macOS)
解决方案:
-
关闭其他可能占用串口的程序
-
在本工具中点击"断开",然后重新"连接"
-
Linux/macOS 用户:确保有串口访问权限
sudo chmod 666 /dev/ttyUSB0
可能原因:
- 波特率设置不匹配
- 数据位、校验位、停止位设置不正确
- 编码问题
解决方案:
- 确认设备的波特率,调整工具的波特率匹配
- 尝试常用配置:8 数据位、无校验、1 停止位
- 检查设备是否发送了特殊编码的数据
可能原因:
- 命令格式错误
- 结尾符设置不正确
- 设备未就绪
解决方案:
- 确认命令格式是否正确
- 尝试不同的结尾符设置(\r\n, \r, \n, None)
- 添加
delay指令,等待设备就绪 - 检查设备是否已正确连接和上电
问题描述: 串口工具打开状态下启动下载工具报错
根本原因: 串口关闭后系统需要时间释放资源
解决方案 (已在 v1.1.1 修复):
- 工具会自动等待串口资源释放(最多 5.5 秒)
- 如仍出现问题,可手动断开串口后稍等片刻再打开工具
问题描述: 外部工具收不到串口参数或 ACK 配置
解决方案 (已在 v1.1.1 修复):
- 确保使用最新版本 (v1.1.1+)
- 现已支持完整传递 40+ 个配置参数
- 包括:串口配置、CRC 设置、ACK 配置等
Windows:
- 打开"设备管理器"
- 展开"端口(COM 和 LPT)"
- 查找设备名称(如 COM3)
Linux:
ls /dev/tty*
# 常见的串口设备:/dev/ttyUSB0, /dev/ttyACM0macOS:
ls /dev/cu.*
# 常见的串口设备:/dev/cu.usbserial-*解决方案:
- 删除或重命名
main_config.json - 重新启动应用(将使用默认配置)
- 如果有备份,可以恢复备份的配置文件
预防措施:
- 定期导出命令模板作为备份
- 重要配置手动备份
main_config.json
- 高速通信 - 波特率 > 115200 时,建议增加连续发送间隔
- 大量命令 - 超过 1000 条命令时,建议分模块管理
- 日志过滤 - 长时间运行时,取消勾选不需要的输出来源
- 定期清理 - 定期清空接收区,避免数据过多影响性能
如果您在使用过程中遇到问题或有改进建议,欢迎通过以下方式反馈:
- 问题反馈: 提交 Issue 到项目仓库
- 功能建议: 在 Issue 中描述您的需求
- 代码贡献: Fork 项目,提交 Pull Request
- 文档改进: 修正错误或补充文档内容
贡献者指南: 参考 开发者笔记
📚 完整文档集
- 📋 版本更新记录 - 所有版本的功能变更和 Bug 修复
- ⌨️ 命令行使用指南 - 命令行启动、打包、配置管理
- 🔧 开发者笔记 - 架构设计、扩展开发、技术细节
本项目采用 MIT License 开源协议。
GHowe 串口调试助手 - 让串口调试更简单
Made with ❤️ by GHowe
