-> Hier kostenlos registrieren
Hi,
Optimierungsfrage - Aus meinem Endgerät kommt die Reihenfolge BC 0B 00 00, ich benötige die Umkehrung nach 00 00 0b bc.
Habe dazu folgenden Code, der funktioniert. Da ich nach wie vor erste Schritte gehe - gibt es bessere Möglichkeiten für diese Rotation/Umkehrung der byteOrder?
Ich nutze in meinem Haus CodeSys 2.3 auf einer Wago. Dieses Beispiel habe ich in CodeSys 3.5 mit Raspberry gemacht.
val ist UDINT
sDataBuff Array [0..200] OF DWORD (aus der Socket werden mehrere Werte gelesen, fürs Beispiel ist nur Index 0 interessant)
Herzlichen Dank!
Optimierungsfrage - Aus meinem Endgerät kommt die Reihenfolge BC 0B 00 00, ich benötige die Umkehrung nach 00 00 0b bc.
Habe dazu folgenden Code, der funktioniert. Da ich nach wie vor erste Schritte gehe - gibt es bessere Möglichkeiten für diese Rotation/Umkehrung der byteOrder?
Ich nutze in meinem Haus CodeSys 2.3 auf einer Wago. Dieses Beispiel habe ich in CodeSys 3.5 mit Raspberry gemacht.
val ist UDINT
sDataBuff Array [0..200] OF DWORD (aus der Socket werden mehrere Werte gelesen, fürs Beispiel ist nur Index 0 interessant)
Code:
wLowWord := DWORD_TO_WORD(sDataBuff[0]);
wHighWord := DWORD_TO_WORD(SHR(sDataBuff[0], 16));
wLowWord := ROL(wLowWord,8);
wHighWord := ROL(wHighWord,8);
val := (65536 * wLowWord + wHighWord);
Herzlichen Dank!