ich lese von einem CAN-Bus vierstellige Fehlernachrichten in hex aus.
Ist es möglich diese hexzahlen direkt als Bedingung in einer CASE Struktur abzufangen. Bzw. generell möglich diese zu konvertieren und wenigstens als DINT Wert in CASE abzufragen ?
MfG
Tobias Ruf
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich lese von einem CAN-Bus vierstellige Fehlernachrichten in hex aus.
Ist es möglich diese hexzahlen direkt als Bedingung in einer CASE Struktur abzufangen. Bzw. generell möglich diese zu konvertieren und wenigstens als DINT Wert in CASE abzufragen ?
MfG
Tobias Ruf
Hallo
Wenn ich dich richtig verstehe, dann ist eine 4stellige HEX-Zahl zwischen
16#0000 und 16#FFFF. Die case Anweisung kann aber nur den Bereich bis 16#7FFF (0-32767).
Die Antwort ist genau so einfach wie unbefriedigend:
Wenn deine Nachrichten in diesem Bereich bleiben, dann gehts. Ansonsten nicht.
Als Umweg könntest du den empfangenen Wert in High und Low-Byte trennen und 2 verschachtelte Case benutzen.
Also z.B.
case byHighByte of
16#FF:
end_case
MfG
Erik