问题出在读取串口数据时使用了错误的编码格式。可以尝试将编码格式改为gbk或者utf-16等其他编码格式进行尝试。下面是一个读取串口数据并设置编码格式为gbk的示例代码:

import serial

ser = serial.Serial('COM1', 9600, timeout=1)

while True:
    data = ser.readline().decode('gbk')
    print(data)

如果还是出现编码错误,可以尝试使用Python自带的chardet库来自动检测编码格式:

import serial
import chardet

ser = serial.Serial('COM1', 9600, timeout=1)

while True:
    data = ser.readline()
    encoding = chardet.detect(data)['encoding']
    print(data.decode(encoding))
用Python从串口按行读取数据 出现错误 UnicodeDecodeError utf-8 codec cant decode byte 0x80 in position 0 invalid start byte我不知道编码

原文地址: https://www.cveoy.top/t/topic/eFKS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录