Hallo,

ich habe ein Projekt, bei dem ich mir einige Servopositionen im EEPROM speichere. Dies funktioniert wunderbar und lesen kann ich sie auch wieder.
Der Leseprozess geschieht immer gleich nach dem Hochlauf.

Nun der Skandal: Bei jedem 10.Mal einschalten, steht nix mehr im EEPROM - was mach ich bloss falsch??? Es ist Gewiss kein Programmfehler, ich denk eher an irgendwelche EMV-Probleme, weil ein relativ großer Motor in unmittelbarer Nähe ist.

Hat irgendwer eine Ahnung, bzw. kennt irgendjemand das Phänomen der verschwindenden EEPROM Daten?

Stromversorgung kommt von einem Akku, also sollte es bezüglich Versorgung auch keine Schwankungen geben...

Zur Sicherheit trotzdem das Programm:
Code:
.
.
.
 '******************************************************************************
 ' Main Program
 '******************************************************************************
 Main:
    Readeeprom Servo1opened , 0
    Readeeprom Servo1closed , 1

    If Switchpressed = 1 Then
       Print "Servo SetUp Mode "
       Call Ledacknowledge()
       Wait 2
       'first set opened state
       Bitwait Switchpressed , Reset
       While Switchpressed <> 1
         Servovalue = 10.2 * Controlvalue
         Servo(1) = Servovalue
       Wend
       Call Ledacknowledge()
       Call Ledacknowledge()
       Bitwait Switchpressed , Reset
       Waitms 500

       Print "Set opened Value: " ; Servo(1)
       Writeeeprom Servo(1) , 0
       Servo1opened = Servo(1)

       'then set closed state
       While Switchpressed <> 1
         Servovalue = 10.2 * Controlvalue
         Servo(1) = Servovalue
       Wend
       Call Ledacknowledge()
       Bitwait Switchpressed , Reset
       Print "Set closed Value: " ; Servo(1)
       Writeeeprom Servo(1) , 1
       Servo1closed = Servo(1)
    End If
.
.
.
==> ist übrigens ein MEGA8 und ich nutze das interne EEPROM

Danke, lg