Python serial.read()拆分错误

Python serial.read()拆分错误,python,Python,我有一个Arduino连接到我的电脑。Arduino通过串行方式发送: xx,yyy\n我想把它分成两个变量。。。xx到tep,yyy到tlak,所以我写了以下内容,但它给了我一个错误: print("A list of the serial ports available on the system:") print(serial_ports()) port = "COM" + input("Please enter the port number...") # Setup ser = ser

我有一个Arduino连接到我的电脑。Arduino通过串行方式发送:
xx,yyy\n
我想把它分成两个变量。。。xx到tep,yyy到tlak,所以我写了以下内容,但它给了我一个错误:

print("A list of the serial ports available on the system:")
print(serial_ports())
port = "COM" + input("Please enter the port number...")
# Setup
ser = serial.Serial(port, 9600, timeout=None, xonxoff=False, rtscts=False, dsrdtr=False)

while True:
    sercan = ser.read()
    can = sercan.decode("utf-8")
    tep, tlak = can.split(",")
    print("T:", tep, " Tl:", tlak)
    #print(can)
结果:

tep, tlak = can.split(",")
ValueError: not enough values to unpack (expected 2, got 1)

为什么会出现此错误?

问题在于使用
sercan=ser.read()


解决方法是在收到“\n”之前读取,或者使用
readline
或指定要读取的字节数。

问题在于使用
sercan=ser.read()
其中
read
根据pySerial文档,默认情况下只读取1个字节


解决方法是在收到“\n”之前读取,或使用
readline
或指定要读取的字节数。

您是否检查了拆分前
can
的值?是否检查了拆分前
can
的值?不起作用:(…这是来自sercan的原始数据:b'25976\n'b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(…这是来自sercan的原始数据:b'25976\n'b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00