Witam,
W różnych aplikacjach jakie robiłem na AVR (ATmega8, 16 i 32) zdarzają się problemy z utratą danych zapisanych w EEPROM. Jedno z urządzeń pracuje blisko transformatorów zgrzewalniczych i w praktyce nie ma problemów... może ze 2 razy w ciągu kilku lat zdarzyło się, że po wyłączeniu i włączeniu zasilania dane z EEPROM zniknęły (ATmega32). Inne urządzenie, nienarażone na zakłócenia miało cyklicznie problemy z utratą danych -- średnio na 3 wyłączenia i włączenia, jedno przynosiło utratę danych z EEPROM (ATmega8). Robiłem też inny układ na ATmega32, w którym raz na jakieś 20 wyłączeń i włączeń, dane w EEPROM potrafiły się zmienić. W jednym z układów (ATmega16) był podobny problem -- wtedy pomiędzy (piszę w C, WinAVR, standardowe funkcje odczytu i zapisu do EEPROM) funkcjami zapisu i odczytu wstawiałem pętle z oczekiwaniem na gotowość pamięci -- to pomogło, pomimo, że nie powinno, gdyż funkcje odczytu i zapisu robią wewnętrznie to samo. Byłbym wdzięczny za podpowiedzi, jakie mogą być przyczyny takiego zachowania? Może jakieś spadki napięcia... Czy jeżeli takie problemy są powszechne, to dotyczą one całej pamięci, czy tylko niektórych komórek -- bo może wtedy można zapisywać te same dane w np. 5 różnych miejscach, a podczas wczytywania przyjmować za prawidłową tę wartość, która występuje więcej razy w tych różnych miejsach.
Robbo