シリアル入力を受け取り、それを変数に保存するプログラムを Arduino で実行しています。魅力的です。シリアル モニタに組み込まれた Arduino アプリケーションを使用して、0 ~ 255 のバイトを正常に送受信できました。
pyserial を使用して、127 (または0b01111111
)より大きい任意のバイトを送信するには、 pyserial
2 を返します。たとえば、127 より大きい値の場合0b10000000
、1 バイトではなく 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
andとして表示され0b10000000
ます。