Hallo,
ich habe hier ein merkwürdiges Problem. Controller ist ein Mega8
Ich möchte 27 Werte aus dem Eeprom lesen, das mach ich wie folgt
das wars eigentlich schon !Code:Dim Taste as long ' der Zaehler für die Tastendrücke=Speicherplatz Dim Zaehler as long 'brauchen wir im Case................. Dim Color_wert(27) As Byte ' das die Variable wo die Werte aus dem Eeprom rein sollen 27 Bytes für 27 Werte Dim Save_wert(280) As Eram Byte At &H06 ' das die Deklaration fürs Eeprom, 280 lang für 10 x 27 Bytes bla bla bla Auswahl: taste = taste+1 select case Taste case 1 ..... case 2 ..... Case 7 Zaehler = 0 For I = 0 To 27 ' die ERSTEN 27 Werte aus der Variablen Color_wert Color_wert(zaehler) = Save_wert(i) Incr Zaehler ' Zaehler erhöhen das die Variable Colorwert auch den entsprechenden Wert an der richtigen Position bekommt Next I Case 8 Zaehler = 0 For I = 27 To 54 Color_wert(zaehler) = Save_wert(i) Incr Zaehler Next I Case 9 Zaehler = 0 For I = 54 To 81 Color_wert(zaehler) = Save_wert(i) Incr Zaehler Next I usw usw usw 'so dann gehts zur Ausgabe über UART for i = 1 to 27 print color_wert(i)
Abgesehen das Color_wert natürlich bei 0 losgeht, erstmal egal
Das Problem, wenn im Eeprom bei Case 8 also von 27-54 nichts steht sollte ja eigentlich 255 ausgegeben werden, genau in diesem Fall wenn da nichts steht oder das gleiche wie bei Case 7 also 0-27 hängt sich alles auf.
Also Ausgabe wenn bei Taste 7, 27x255, jetz nochmal Taste also Taste=8 peng aufgehangen.
Wenn ich manuell verschiedene Werte da abspeicher gehts komischer weise.
Warum passiert das?
Es geht darum, wenn man an die entsprechende Stelle noch nicht gespeichert hat sollte eigentlich 0 ausgegeben werden, daher Füll ich den Eeprom beim ersten Boot mit 0 , aber das bringt nix, auch füllen mit 1 bringt nix, erst wenn wirklich unterschiedliche Werte drin stehen funktionierts.
Ich weiß keinen Rat mehr
DANKE für Eure Hilfe
Heiko
Lesezeichen