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

10-10 17:12