Ich verstehe die Welt nicht mehr...
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