Hallo,
ich muß Benutzerdaten im ATMEGA16 eigenen EEPROM speichern. Damit diese nach der Programmierung gleich vorhanden sind (Defaultwerte), verwende ich in BASCOM die $EEPROM Direktive
Der Code (auf's nötigste reduziert) sieht so aus
Lasse ich das Prg auf dem µC laufen, gibt er mir aber nur 255 auf dem LCD aus, heißt beim Schreiben werden die Daten wohl nicht abgelegt.
Mein vollständiges Programm schreibt natürlich auch EEPROM-Daten; die lassen sich bestens auslesen und werden erst nach Neuprogrammierung wieder mit 255 überschrieben.
Mach ich einen Fehler beim Einsatz von $eeprom....$data ????
Timo
ich muß Benutzerdaten im ATMEGA16 eigenen EEPROM speichern. Damit diese nach der Programmierung gleich vorhanden sind (Defaultwerte), verwende ich in BASCOM die $EEPROM Direktive
Der Code (auf's nötigste reduziert) sieht so aus
Code:
' ------------------------- µC-Setup ------------------------------------------
$regfile = "m16def.DAT"
$crystal = 8e6
$hwstack = 96
$swstack = 128
$framesize = 128
$baud = 38400
' ------------------------- µC-Setup Ende--------------------------------------
' LCD
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Config Lcd = 20 * 2
Cursor Off
Dim Dauerlichtan As Byte
Dim Schliesszeit As Byten
$eeprom
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 ' stammt aus einem Versuch, wird aber nicht benötigt
Eeprom_dauerlichtan:
Data 60
Eeprom_schliesszeit:
Data &H35
$data
Readeeprom Dauerlichtan , Eeprom_dauerlichtan
Readeeprom Schliesszeit , Eeprom_schliesszeit
Cls
Lcd "Licht " ; Dauerlichtan
Lowerline
Lcd "Schliessz " ; Schliesszeit
End
Lasse ich das Prg auf dem µC laufen, gibt er mir aber nur 255 auf dem LCD aus, heißt beim Schreiben werden die Daten wohl nicht abgelegt.
Mein vollständiges Programm schreibt natürlich auch EEPROM-Daten; die lassen sich bestens auslesen und werden erst nach Neuprogrammierung wieder mit 255 überschrieben.
Mach ich einen Fehler beim Einsatz von $eeprom....$data ????
Timo