You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python向串口写入数据仅收到首字符 com0com场景故障排查问询

故障原因和解决方法

  • 优先排查接收端的读取逻辑:串口是字节流传输,没有内置数据边界,71.1\r\n转成utf-8编码后总共有5个字节,要是接收端的代码每次只读1个字节就结束本次处理,自然只会返回第一个字符7。建议检查接收端是不是设置了单次读取长度为1,或是没有循环等待全部数据到达就结束了读操作。
  • 确认串口两端参数完全匹配:发送端COM8的波特率、校验位、停止位、数据流控配置必须和接收端完全一致,参数不匹配会导致数据解析错误、丢包,大概率只能识别到第一个可解码的字符。
  • 先验证发送端输出是否正常:可以用通用串口调试工具监听COM8的输出,确认调用ser2.write时确实把完整的71.1\r\n发送出去了,先排除发送端编码、串口写入的问题。
  • 额外优化点:你当前代码里直接用ser.read(ser.in_waiting)读走所有缓冲区数据,若上游设备发送的报文长度不固定,切分data_str[7:9]很容易出现下标越界,建议改为按固定长度读取报文,或是按分隔符读取整行再做解析。

内容的提问来源于stack exchange,提问作者reallly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:24:05