我有一个在我的 Arduino 上运行的程序,它接受串行输入,并将其保存到一个变量中。很有魅力。使用串行监视器中内置的 Arduino 应用程序,我已成功发送和接收 0-255 之间的字节。
使用 pyserial 发送任何高于 127(或0b01111111
)的字节,pyserial
返回 2 - 高于 127 的值的含义,例如0b10000000
,将发送 2 个字节,而不是一个。
我相信我的问题是pyserial
,因此。
ser.write(chr(int('01000000', base=2)).encode('utf-8'))
完美运行,并在 Arduino 端正确接收。
ser.write(chr(int('10000000', base=2)).encode('utf-8'))
然而,返回 2 - 并在 Arduino 上显示为0b11000010
和0b10000000
。