我用PC控制外部设备,这个设备是串口与PC通信,效果很好。我可以将命令从PC发送到设备。 belwo是命令结构.Python versio是2.7。
Initialize=[0xEE,0x01,0x01]
ser.write(Initialize)
现在,我使用raspberry pi来连接这个设备,我确信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
有谁知道如何修复它?非常感谢你的帮助!
答案 0 :(得分:1)
感谢您的回答。它现在有效。贝尔沃是正确的命令。
x=bytearray(Initialize)
ser.write(x)