Forum: Mikrocontroller und Digitale Elektronik Probleme mit xeeprom.h


von Andy (Gast)


Lesenswert?

Hallo,
Ich arbeite schon seit einiger Zeit mir dem Xmega32A4 und verwende dazu 
die von Atmel stammende xeeprom.h für meine EEPROM-Zugriffe. Aber seit 
gestern habe ich Probleme damit.
Bis jetzt hat das Verändern der EEPROM-Daten im Memory-Fenster immer 
funktioniert (im Debug-Modus - ich verwende AVR-Studio in der letzten 
Version). D.h. wenn ich zB eine Variable im Memory-Fenster von 0x00 auf 
0xFF gesetzt habe, hat sich der Wert im Memory-Fenster und auch im 
Watch-Fenster bei der entsprechenden Variable aktualisiert (falls 
vorhanden). Nur seit gestern geht das nicht mehr. Ich kann Variablen 
nicht immer verändern und wenn es einmal funktioniert, dann nimmt es 
falsche Werte an. D.h. wenn ich auf einen Wert im Memory-Fenster klicke, 
öffnet sich wie gewohnt das kleine Fenster für die Werteingabe. Ich 
geben dann zB 0xFF (nur FF) ein und beim Bestätigen wird aber nicht 0xFF 
sondern 0x55 übernommen. Im Watch-Fenster wird dann bei dieser Variable 
85 angezeigt. Sehr komisch dieses Verhalten. Was mir aber aufgefallen 
ist: Dieses Fehlverhalten tritt erst auf, nachdem ich die 
"EEpromInit(void)"-Funktion der xeeprom.h-Datei ausgeführt habe. Was 
kann das sein? Ich habe in dieser Hinsicht nichts verändert...

Übrigens: In der EEpromInit(void) steht Folgendes:
1
EEpromInit(void)
2
{
3
 while((NVM.STATUS & NVM_NVMBUSY_bm) == NVM_NVMBUSY_bm);
4
 NVM.CTRLB |= NVM_EEMAPEN_bm;
5
}

Bin gespannt auf eure Antworten!

mfg
Andy

von Andy (Gast)


Lesenswert?

Hat keiner eine Idee??

lg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.