Ich bin neu in Python und arbeite an einem Sensor. Ich baue meinen Code Zeile für Zeile und ich habe Probleme mit der Codierung/Decodierung Teil für Bytes zu string. Gleicher Code, irgendwann funktioniert es, irgendwann geht es nicht. HierErratische Codierung von Byte zu String auf Python 3 unter Ubuntu
ist der Code:
import serial
import time
import os
port = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=1, bytesize=8)
f_w = open('/home/myname/python_serial_output.txt','r+')
port.send_break()
while True:
op = port.read(2)
op_str = op.decode('utf-8')
f_w.write(op_str)
print(op_str)
Es dauerte nicht beim ersten Mal arbeiten, aber auf das zweite Mal gearbeitet. Warum?
Hier wird der Fehler erhalte ich:
[email protected]:~$ python3 serial_test.py
Traceback (most recent call last):
File "serial_test.py", line 13, in <module>
op_str = op.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 0: invalid start byte
[email protected]:~$ python3 serial_test.py
Ex
pl
or
er
Wie entferne ich die Mehrdeutigkeit davon läuft erfolgreich?
Also sollte ich vor der Decodierung es mein ganzes op kodieren? –