www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BASCOM und Long


Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dim Var_l as Long
Dim Var_LW As Word At Var_l Overlay
Dim Var_HW As Word At Var_l +2 Overlay

Nichts zu danken :D

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: neanderthaler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß,

Autor: müC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.