Python2在组织数据的时候可以直接用chr把字节内容添加到字符串里进行发送,而在Python3中chr返回的是Unicode,所以超过ASCII能表示的范围时chr返回的将会是两个字节从而使数据被破坏,因而在Python3中不能再用字符串来组织数据,而应该用bytearray来保存数据。
示例代码:
Python2:
data = ''
data = data + chr(datum)
ser.write(data.encode())
Python3:
data = bytearray()
data.append(datum)
ser.write(data)