Gast
#1857246
Hallo Leute, BASCOM AVR holt mit Var_W = Highw(Var_l) die zwei oberen Bytes raus. Wie komm ich an die beiden unteren Bytes loww geht nicht. Wer stupst mich drauf. Gruss Kurt
|
Anzeige
|
BASCOM und Long
Gast
#1857246
Hallo Leute, BASCOM AVR holt mit Var_W = Highw(Var_l) die zwei oberen Bytes raus. Wie komm ich an die beiden unteren Bytes loww geht nicht. Wer stupst mich drauf. Gruss Kurt Kurt schrieb: > Wie komm ich an die beiden unteren Bytes > > loww geht nicht. Ich kenn zwar BASCOM nicht, weiß daher nicht ob das so geht, aber: einfach zuweisen und darauf vertrauen, das es auch in BASCOM so ist, dass das vorne überzählige (also das High-Word) dabei weggeschmissen wird.
Gast
#1857296
Nichts zu danken :D Ich denke auch, dass die einfache Zuweisung funktionieren wird. Auf jeden Fall sollte mod 256 funktionieren. Die Lösung von MWS wird so eine Art union wie in C sein? Wenns funktioniert, wohl die beste Lösung.
Gast
#1857306
Guckstdu das Manual: ----- There is no LowW() function. This because when you assign a Long to a word or integer, only the lower part is assigned. For this reason you do not need a Loww() function. W=L will do the same. ----- mit Höhlengruß,
Gast
#1857307
Karl heinz Buchegger schrieb: > einfach zuweisen und darauf vertrauen, das es auch in BASCOM so ist, > > dass das vorne überzählige (also das High-Word) dabei weggeschmissen > > wird. Genau so isses. @Kurt: Steht übrigens auch in der Hilfe zu HighW explizit drin. Alternativ geht noch ohne Zuweisungsaufwand: Dim Var_l as Long Dim Var_lw As Word at Var_l Overlay Dim Var_hw As Word at Var_l+2 Overlay Jede Zuweisung an Var_l führt automatisch dazu, dass low und high word über Var_lw und Var_hw zugreifbar sind.
Gast
#1857897
Hallo Leute, danke für die guten/hilfreichen Tips. Var_w = Var_l werd ich benutzen. Das passt am besten. Das andere/höherwertige Wort liefert Highw. Gruss Kurt Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|