Сбрасывается EEPROM в ATMega16, ATMega8. Сброс происходит при включении питания, но не каждый раз, а случайно, когда угодно. Все ножки МК предназначенный для последовательного программирования MOSI, MISO, SCK, Reset подпаяны к разъём для программирования, разъём болтается в воздухе.
У ATMega8 сброс происходит полностью, все ячейки памяти принимают значения 255. ATMega16 просто искажает значения случайными числами.
Я думаю что все дело в том, что ножка Reset не подтянута к питанию.
Что скажите?
Чтобы вся память похерилась на меге8 , а это 512 байт я не верю .
Вывод ресет в этом случае должен быть подтянут минимум через 10к + 100нф на массу кондюк.
Ну и собственно нужно правильно выставлять адрес еепром когда не работаете с ним. БОД включать на максимум или ставить супервизор.
Пишу на асме но разницы нет как инициализировать.
Я после каждой операции чтения или записи епром заганяю в адрес ненужное значение , то есть значение неиспользуемой ячейки. Это же нужно делать при начальной инициализации.