05-常见问题
常见问题
Q: 串口列表为空,找不到 COM 口?
- 可能原因:
- 串口设备未连接或未安装驱动
- 设备驱动安装不正确
- 解决方案:
- 打开设备管理器(
devmgmt.msc),查看"端口 (COM 和 LPT)"下是否有设备 - 如果设备带黄色感叹号,需重新安装驱动
- 插拔设备后点击 刷新 按钮
Q: 打开串口失败,提示"无法打开串口"?
- 可能原因:
- 串口已被其他程序占用(如串口助手、Arduino IDE 的串口监视器)
- 串口号不存在
- 权限不足
- 解决方案:
- 关闭所有可能占用该串口的程序
- 确认串口号正确
- 点击 刷新 重新扫描
Q: 能发送但收不到数据?
- 检查项:
- 确认 TX 和 RX 接线正确(TX 对端 RX,RX 对端 TX)
- 确认 GND 已共地
- 确认波特率和校验位等参数与目标设备一致
- 设备是否真的在发送数据(用示波器或逻辑分析仪验证)
Q: 收到乱码怎么排查?
- 可能原因(按概率排序):
- 波特率不匹配 — 最常见原因,检查两端波特率设置
- 编码不匹配 — 如果发送端用 GBK 而显示端用 UTF-8,中文会乱码
- 校验位不匹配 — 某些设备开启校验但程序未开
- 数据位不匹配 — 较少见
- 硬件问题 — USB 转串口芯片不稳定、杜邦线接触不良
- 排查步骤:
- 先切到 十六进制显示,观察原始字节
- 对比发送端和接收端的原始字节是否一致
- 如果原始字节一致但文本乱码,切换编码尝试(GBK ↔ UTF-8)
Q: 支持的最大波特率是多少?
- 取决于串口硬件和驱动。常见 USB 转串口芯片支持:
- CH340:最高 2Mbps
- CP2102:最高 1Mbps
- FT232:最高 3Mbps
程序层面无限制,可选波特率下拉框中包含常用值。
Q: 自动发送的最小间隔是多少?
- 理论上可以设置 1ms,但实际受限于:
- 操作系统调度精度(Windows 通常 1-15ms)
- 串口缓冲区大小
- 发送数据量
建议最小间隔不低于 10ms,避免串口缓冲区溢出。
Q: 图表不显示数据?
- 检查项:
- 是否勾选了 启用图表
- 是否添加了至少一条数据提取规则
- 接收的数据是否包含符合规则的数值
- 规则表达式是否正确(可先用正则测试工具验证)
Q: 支持通过命令行参数指定串口吗?
当前版本不支持命令行参数。该功能可能在后续版本中添加。
Q: 虚拟串口对怎么创建?
- 推荐使用 com0com 工具(开源免费):
- 下载并安装 com0com
- 创建虚拟串口对(如 COM10 ↔ COM11)
- 打开两个 NexSerial 实例,分别连接 COM10 和 COM11
- 二者可以互相收发数据,适合开发测试