PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Peinliche Frage zu Hex verarbeitung :-)



Roberto
06.02.2006, 20:43
Hallo Leute

Ein bisschen eine peinliche Frage:

Arbeite gerade mit einem 24C256 EEprom (I2C)

Jetzt möchte ich da nach Daten suchen.

Mir ist nicht ganz klar die verarbeitung mit den Hex Zahlen.

1.) Kann ich jetzt $f angeben oder muss ich &Hf für 15 angeben ?!

2.) Dass EEprom fängt ja mit Adresse 0 an

Wenn ich dafür eine For next Schleife nehme, kann man bei der Schleife ein : for X = 0 to 15 angeben oder geht nur 1 to 16 ?(bei einer for/next)

Im Prinzip möchte ich am Ende in jeder zweiten Zeile , den Wert auswerten. (müsste Adresse $1f,3f, u.s.w. sein)

Im Prinzip sollte es so ähnlich funktionieren:



test1 = 0
start:
For I = $0 To $1f
Eeprom_adresse = I + Test1
Gosub Eeprom_lesen
Next I
test1 = test1 +$1f
goto start


Wie kann man das richtig mit Dezimalzahlen und mit Hexzahlen machen ?!

:-)

Ratber
06.02.2006, 22:41
Zu 1.

$hxx (xx für Hexwert)

Es empfielt sich die volle Zahl der Stellen anzugeben.

also xx für Byte
xxxx für Word

usw.

so vermeidet man Missverstäündnisse und Denk-/Rechenfehler




zu 2:

Ja du kannst alle Zahlen nehmen die zum Datentyp gehöhren.
Ein Byte qird von 0-255 gezählt also kannst du alles von 0-255 nehmen.

Folglich auch 0-15 für die For-Next schleife.







Ein bisschen eine peinliche Frage:


Peinlich finde ich es nur wenn jemand zu stolz ist in einem ihm unbekannten dunklen Raum nach dem Lichtschalter zu fragen :wink:

Roberto
06.02.2006, 23:29
Hallo Ratgeber



Peinlich finde ich es nur wenn jemand zu stolz ist in einem ihm unbekannten dunklen Raum nach dem Lichtschalter zu fragen Wink

gut das du das so siehst ;-) dann frage ich gleich weiter :-)




Folglich auch 0-15 für die For-Next schleife.



Habe mich jetzt ein bisschen gespielt, aber irgendwie geht das nicht mit
For x = 0 to 15

Da zählt er mir dann nur 15 Stellen aus dem EEprom
Oder ich habe mich da irgendwie vertan ?
(müsste eventuell nochmal probieren..?! )



$hxx (xx für Hexwert)

komisch..

Bei der Dim Anweisung z.B.:

Dim Eeprom_adresse As Word At $h80 Overlay

geht das nicht!

Da geht es nur mit $80 !!

In der Hilfe finde ich immer nur &HXX (statt "$")


Bei der For next , scheint es mit $x und $Hx zu funktionieren !.

?

Wenn ich bei der For next z.B. 1 to 16 verwende, wie komme ich dann auf Adresse 0 ?

Fragen über Fragen ... ;-)

l.G. Roberto

Ratber
07.02.2006, 00:25
Dim Eeprom_adresse As Word At $h80 Overlay
geht das nicht!
Da geht es nur mit $80 !!
In der Hilfe finde ich immer nur &HXX (statt "$")
Bei der For next , scheint es mit $x und $Hx zu funktionieren !.


Langsam.
Nicht alles durcheinander.
Erstmal ne Korrektur.:
Es war "&" gemeint und nicht "$".
Hab einmal die falsche Taste erwischt und fröhlich weitergemacht. :D

Bascom unterscheidet da einiges.

Wenn du einer Variable einen Hexwert zuweisen möchtest dann geht das zb. so.
A=&hf oder A=&h0f usw. für Hex. und &bxxxxxx für Binär.
Ohne irgendwas wird Dezimal angenommen.

Bei Adressierungen gehts mit $x oder $xx usw. weiter

Is blöde gelöst.Wenn man es nicht weiß dann sucht man sich dumm dabei.



Habe mich jetzt ein bisschen gespielt, aber irgendwie geht das nicht mit
For x = 0 to 15

Warum soll das nicht gehen ?
Das hab ich schon zig mal gemacht.

Alternativ geht auch "For X = &h00 to &h0f" oder "For X = &b00000000 to &b00001111"


Wie gesagt.

Werte mit &h oder &b
Adressen mit $

Roberto
07.02.2006, 20:22
Hallo Ratgeber

Habe jetzt nochmal das For 0 to 15 probiert.
Komischerweise sind das jetzt 16 Stellen..
Hatte mich wohl vorher da irgendwie vertan :-k

Danke für deine nette Hilfe O:)
Jetzt weis ich wieder ein bisschen mehr ;-)

Ratber
07.02.2006, 21:38
Ja die liebe 0.

Wird immer gerne vernachlässigt :lol: