Gast
#1936245
Ich habe 5 Arrays von 1 bis 18. 4 Davon sind Byte Arrays und das 5.
besteht aus Word Variablen.
Diese Arrays muss ich am Ende von meiner Setup Routine in den EEPROM
schreiben und beim Start des µC auslesen.
Ich habe folgendes versucht:
Am Start des Programms:
Readeeprom On_hour(1) , Eon_hour
For Temp = 2 To 18
Readeeprom On_hour(temp)
Next
Readeeprom On_min(1) , Eon_min
For Temp = 2 To 18
Readeeprom On_min(temp)
Next
Readeeprom On_day(1) , Eon_day
For Temp = 2 To 18
Readeeprom On_day(temp)
Next
Readeeprom On_wait(1) , Eon_wait
For Temp = 2 To 18
Readeeprom On_wait(temp)
Next
Readeeprom On_dimm(1) , Eon_dimm
For Temp = 2 To 18
Readeeprom On_dimm(temp)
Next
Am Ende des Setups:
Writeeeprom On_hour(1) , Eon_hour
For Temp = 2 To 18
Writeeeprom On_hour(temp)
Next
Writeeeprom On_min(1) , Eon_min
For Temp = 2 To 18
Writeeeprom On_min(temp)
Next
Writeeeprom On_day(1) , Eon_day
For Temp = 2 To 18
Writeeeprom On_day(temp)
Next
Writeeeprom On_wait(1) , Eon_wait
For Temp = 2 To 18
Writeeeprom On_wait(temp)
Next
Writeeeprom On_dimm(1) , Eon_dimm
For Temp = 2 To 18
Writeeeprom On_dimm(temp)
Next
Der EEPROM Bereich:
$eeprom
$eepromhex
Eon_hour:
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0
Eon_min:
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0
Eon_day:
Data 127 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 127 , 0 , 0 , 0 , 0 , 0 ,
0 , 0 , 0
Eon_wait:
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
0 , 0
Eon_dimm:
Data 0% , 0% , 0% , 0% , 0% , 0% , 0% , 0% , 0% , 0% , 0% , 0% , 0% ,
0% , 0% , 0% , 0% , 0%
$data
Das Problem ist, dass das mit den For Next Schleifen nicht funktioniert,
weil er für die successive Erhöhung des Read bzw. Writeeeprom befehls
einen Pointer verwendet, der bei Schleifen nicht funktioniert.
Nur will ich nicht (und kann ich auch nicht wegen dem knappen Speicher)
90 Read- und writeeeprom Befehle schreiben.
Kennt da lemand einen Trick, wie ich ein ganzen Array in den EEPROM und
wieder Hinnaus bekomme?
Danke schonmal!