HEX Länge ermitteln
Verfasst: Samstag 10. Januar 2026, 20:32
Hi,
hätte mal wieder eine Frage.
Folgenden Hex hätte ich im Angebot
b'@B\x00\x01,\xc8\xe7'
Ich weiß, das sich das Ding aus 4 Segmente (Hex-Werte) zusammen setzt.
Nun erhalte ich wenn etwas nicht funktioniet statt diesem langen HEX nur einen kurzen.
b'@B\x0c
0c is der Fehlercode, mit dem ich was anfangen kann.
Wie kann ich die Länge des Hex ermitteln.
Gruß Ralf
hätte mal wieder eine Frage.
Folgenden Hex hätte ich im Angebot
b'@B\x00\x01,\xc8\xe7'
Ich weiß, das sich das Ding aus 4 Segmente (Hex-Werte) zusammen setzt.
Nun erhalte ich wenn etwas nicht funktioniet statt diesem langen HEX nur einen kurzen.
b'@B\x0c
0c is der Fehlercode, mit dem ich was anfangen kann.
Wie kann ich die Länge des Hex ermitteln.
Code: Alles auswählen
sick_string = "FF 42"
def status(sick_string):
data = bytearray.fromhex(sick_string)
data.append(ChecksumXor8.calc(data))
ser.reset_input_buffer()
ser.reset_output_buffer()
time.sleep(0.01) #give the serial port sometime to receive the data
ser.write(data)
time.sleep(0.01)
response = ser.read(7)
print(response)
if .....wenn der Hex zu kurz kommt ....:
fehlermeldung=''.join(format(byte, '02x') for byte in response[2:3])
fehlerspeicher = sick_error.srm_errors(fehlermeldung)
data = 0
else:
fehlerspeicher = ""
data = int.from_bytes(response[2:6],'big',signed=False)
return data, fehlerspeicher
test = status(sick_string)
print(test[0])
print(test[1])