Raspberry pi串口通信-python写命令问题

时间:2016-06-14 02:33:55

标签: python serial-port raspberry-pi

我用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

有谁知道如何修复它?非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

感谢您的回答。它现在有效。贝尔沃是正确的命令。

x=bytearray(Initialize)
ser.write(x)