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:
==> ist übrigens ein MEGA8 und ich nutze das interne EEPROMCode:. . . '****************************************************************************** ' 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 . . .
Danke, lg







Zitieren

Lesezeichen