Цитата(IgorKossak @ Mar 23 2005, 12:27)
лет и ничто не дало мне повод усомниться в EEPROM как именно в памяти.
Пожалуйста - простой пример:
Прибор время от времени должен спасать некоторые значения
в EEPROM в процессе работы. Которые должны запоминаться.
Это как раз и есть назначение этой области памяти, не так ли ?
Итак, спасение началось. Спасаются...ммм.. 10 значений float.
Посто "так надо".
В этот момент пропадает питание..кратковременно.
Срабатывает системный монитор. Например MAX1232.
По достижении питания 4.5 V.
Что получилось ?
Например, первые два значения спасены целиком правильно,
3-е - прописалось частично (первые 2 байта), остальные значения
остались прежними.
Пропадание питания было кратковременным. По достижении
питания >4.5 V прибор нормально стартует. И что же в итоге ?
Данные частично новые, частично старые, частично разрушены.
Допустим, речь идет о...новогодней гирлянде. Это не опастно,
просто неприятно - праздник как-никак.
Но в самолет с таким контроллером я добровольно не полезу.
А то какя то вспышка молнии, и автопилот так руль заложит,
что мало не покажется.
Получается, что Вам везет.
А мне обычно - не везет. Поэтому я использую эту память
как внешнее устройство.
Замечу, что все эти соображения не относятся именно к AVR.
Это относится к любым EEPROM-ам вообще.
Кстати, мне попался процессор с "битым" байтом в области EEPROM.
Данные там стабильно пропадают ~30 мин.
Так вот - прибор с этим процессором работает правильно, и я не стал
его выкусывать.
$3 экономии - пустячок, а приятно.
"Красивый алгоритм - гимнастика ума".