2017-10-18 86 views
2

我想通過RS232線發送十進制值236發送整數,所以我用pyserial用下面的代碼:不能與pyserial

ser.write(bytes(236)) 

與此代碼,它停留在一個infinit循環和進程崩潰。所以我試過這個:

ser.write(b'\xEC') 

這很好用!但我想使用變量值,因此整數將更加可用。

第一行代碼有什麼問題?

+0

看看這個問題,這可能會幫助你:https://stackoverflow.com/questions/9645188/how-can-i-create-byte-values-from-integers-in-python – LethalProgrammer

回答

0

「bytes(236)」爲您提供了一個236字節的數組,默認值爲0 ...不是您要查找的內容。

com.write(chr(236).encode("latin1"))

應該讓你的字節通過串行端口移動。如果這不適用於您,請發佈更多關於您所得到的實際錯誤的詳細信息。