我使用PC控制Extral设备,并且该设备是与PC进行串行通信的端口,并且运行良好。我可以将命令从PC发送到设备。 belwo是命令结构。Pythonversio是2.7。
Initialize=[0xEE,0x01,0x01]
ser.write(Initialize)
现在,我使用树莓派连接该设备,并且我确定rapsberry pi已与该设备连接。我使用以下命令测试连接。
ser=serial.Serial("/dev/ttyACM0", baudrate=115200, timeout=0.5)
print ("Port "+ ser.portstr + "opened:" + str(ser.isOpen()))
现在,问题是我无法像在PC中那样将数据写入设备。 python版本是3.4.2。
编写命令:
Initialize=[0xEE,0x01,0x01]
ser.write(Initialize)
错误信息:
Traceback (most recent call last):
File "/home/pi/ssbar/ss.py", line 65, in <module>
ser.write(Initialize)
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 475, in write
n = os.write(self.fd, d)
TypeError: 'list' does not support the buffer interface
有谁知道如何解决?非常感谢您的帮助!
最佳答案
感谢您的回答。现在可以使用了。以下是正确的命令。
x=bytearray(Initialize)
ser.write(x)
关于python - Raspberry Pi串行通信-Python写命令问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37802078/