2016-04-14 70 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)