Arduinoで読み取った数値をfloat型に変換したいのですが、
以前使えていたコードでエラーが出るようになってしまいました。
Python
1ser = serial.Serial("COMXX", 115200) 2ser.write(b'1') #このコマンドでセンサー値がArduinoから送られます 3data = ser.readline() 4front = float(data.rstrip().decode("UTF-8")) 5 6UnicodeDecodeError: utf-8' codec can't decode byte 0xb5 in position 2: invalid start byte
問題なく変換できることもありますが、
読み取ったデータが以下のようになることがあります。
b'16\xb5.06\r\n'
すると上記のようなエラーになってしまうのですが、
どのような変換を行えば適切に数値を扱えますでしょうか??
送り側はどういうプログラムで、どういう値を送っていますか? (16\xb5.06は送る側ではどういう値を送ったつもりなのでしょう)
回答2件
あなたの回答
tips
プレビュー