PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Read bei Mega 8 funktioniert irgendwie nicht...



Re-Z
10.06.2011, 23:06
Guten Abend zusammen!!
Folgende Problematik: ICh möchte eine Variable vom Typ "Word" aus einer data Zeile einlesen (Für eine LED-Matrix). Aber aus irgendeinem grund hat das nicht funktioniert. Dann habe ich mal ein Terminal mitlaufen lassen, auf dem die Variable direkt ausgegeben wird. es wurden mir total sinnlose zahlen ausgegeben. Dann habe ich ein kleines Testproggi geschieben, das nur eine reihe daten einlesen sollte, (von 1 bis 10) und diese über den COM-Port auf dem Rechner ausgeben soll... Wieder das selbe Problem. ICh hab keine Ahnung, woran es liegt...

Hier der Testcode:


$crystal = 8000000
$regfile = "m8def.dat"
$hwstack = 64 '128
$swstack = 64 '128
$framesize = 64 '128
$baud = 9600

Dim D As Word
Dim I As Byte
Restore Dats

Wait 2

For I = 1 To 10
Read D
Print D
Waitms 250
Next I

End

Dats:
Data 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
Und hier das Ergebnis...


513
1027
1541
2055
2569
255
11918
11935
38152
11752
Die Zahlenreihen sind reproduzierbar...

Hat irgend jemand einen Tipp oder eine Idee, woran das liegen kann???

Danke schon mal

Matthias

da_reefer
11.06.2011, 01:25
Hallo,

http://avrhelp.mcselec.com/data_2.htm

Ohne Zusatz bei Data-Konstanten interpretiert Bascom Zahlen als Byte. Um Words zu speichern, musst du ein % hinter die Zahl setzen.

mfg

ps: es gibt ein Bascom-Forum hier

Re-Z
11.06.2011, 10:02
Vielen Dank... Irgendwie hab ich gestern Abend wohl ein Brett vorm Kopf gehabt, und das naheliegende überlesen... Jetzt funktioniert alles so, wie gewünscht!

Liebe Grüße
Matthias