2016-04-14 68 views
1

我正在做一些发送和接收字符串的arduino项目。pyserial发送unicode字符串作为字节数组

它给我一个字符串,这是一个逗号分隔的数字列表,我保存到文件。 然后我尝试读取文件,并以我收到它的相同方式发回字符串。

这工作正常,如果我通过arduino串行监视器来做到这一点,但我似乎无法得到pyserial发送/编码的字符串以相同的方式收到。

我用这样的代码尝试:

for b in bytearray("10,20","UTF-8"): 
    ser.write(str(b).encode("latin_1")) 

ser.flush() 

,但还没有任何运气得到它通过正确发送。

+0

这是Python的2或3? – Paul

回答

1

假设你使用Python 3,你可以简单地使用:

ser.write("10,20".encode()) 

对于Python 2,我觉得字符串可以直接传递给ser.write()没有编码它们。

1

我最终什么事让工作是这样的:

ba = bytes("10,20\n", encoding="ascii") 
ser.write(ba)