-
-
Erfahrener Benutzer
Roboter-Spezialist
Vorsicht, böse Software-Falle:
Vor meinen Tests war ich mir unsicher, ob beim Lesen vom I2C Bus das Ergebnis in HBYTE oder in LBYTE ankommt ( siehe ). Irgend wie hatte das nicht mit meinen anderen Tests zusammen gepasst. Jetzt weiss ich, warum:
In den CCRP5 Basic-Programmen steht immer:
define LBYTE byte[1]
define HBYTE byte[2]
Damit lag für mich nahe:
1. CCBASIC (und doch wohl auch der MC selbst) verwendet die "first-low-then-high" Speicherung von 16-bit Werten
2. Wenn ich ergänze
define PARAM word[1]
dann kriege ich in LBYTE das low byte von PARAM, und in HBYTE eben das high byte.
Dem ist aber NICHT so:
Sowohl CCBASIC als auch der MC selbst speichern zuerst das HIGH byte, und dann das LOW byte von 16-bit Werten.
Die Namen LBYTE / HBYTE sind wirklich GROBER Unfug, wenn nicht noch Schlimmeres
Ich befürchte aber, das war noch nicht mal "just to confuse the Russians"!!!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen