PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie aus Lowbyte und Hibyte ein WORD machen (in Bascom)?



Thomas U.
29.09.2004, 12:39
Hallo,

wie mache ich (Programmieranfänger) aus einem Hibyte und einem Lowbyte (bekomme ich über I2C von einem 16-Bit AD-Wandler) ein WORD, sprich meinen vollständigen 16-Bit-Wert.

Gruss, Thomas

RCO
29.09.2004, 13:03
Du kannst doch einfach den Highbyte mal 128? nehmen und dann den LOWbyte dazuaddieren. SChließlich das Ergebniss in eine WORD-Varaible.
ODer?

MFG Moritz

29.09.2004, 13:14
Mal 256 meinst Du RCO, nicht 128!

29.09.2004, 14:54
In Bascom gibt es sogar ein Befehl dafür:

Action:
Compact two bytes into a word or integer.

Syntax:
varn = MAKEINT(LSB , MSB)

Remarks:
Varn Variable that will be assigned with the converted value.
LSB Variable or constant with the LS Byte.
MSB Variable or constant with the MS Byte.

The equivalent code is:
varn = (256 * MSB) + LSB

Example:
Dim a As Integer, I As Integer
A = 2
I = Makeint(a , 1) 'I = (1 * 256) + 2 = 258
End

RCO
29.09.2004, 15:01
Ja, meinte 256. :oops:

29.09.2004, 15:17
Bascom gefällt mir immer besser. Gibt es denn noch etwas was diese Programmiersprache nicht kann?

RCO
29.09.2004, 15:26
Also das hat mich auch überrascht, als ich von CC1 auf AVR gewechselt bin. Alles ging auf einam so einfach und simpel, z.B. ne AT-Tastatur anschlien: mit CC1 wochenlang anch nem Assembler gesucht, der dann schließlich nicht lief. UNd hier: ein Sample-Prog aufgespielt, anschließen, läuft...

harryup
01.10.2004, 10:01
hi,
klar gibt es dinge, die bascom nicht kann, oder sagen wir besser, die zwar implementiert sind aber unzureichend kommentiert, dass die arbeit damit zum graus wird. alles kein problem, es lässt sich ja überall notfalls assembler-code einfügen. und alle register lassen sich direkt lesen / beschreiben, insofern bleibt nichts, was nicht realisierbar wäre.
ich finde bascom eine reichlich perfekte lösung, anfänger (oder auch neulinge auf einem gebiet) haben ratzfatz einen sichtbaren erfolg, wenn's um die wurscht geht ist aber alles offen genug. dank an mcs und alle forum-mitglieder (find ich mindestens ebenso toll), gruss, harry