Atmega 328 вопрос по сохранности/очистке EEPROM

dixxx666
Offline
Зарегистрирован: 21.01.2013

Добрый день!

Вопрос к знающим людям -

если я сделаю скетч, прошью его - программа будет работать и результат своей работы будет писать в EEPROM.

Затем, вдруг какие-то корректировки в скетче сделать и прошить заново - EEPROM тоже очистится?

Или записаные там данные будут храниться даже после заливки нового скетча?

Надеюсь ответ будет полезен не только мне.

С уважением, Дмитрий.

ustas
Offline
Зарегистрирован: 12.03.2012

а что мешает промоделировать этот процесс?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. При "обычном" способе программирования EEPROM не изменяется.

2. Можно стереть  EEPROM командой "Стереть кристалл". Это с помощью программаторов, но вроде вам это не грозит.

3. Даже стирая кристалл можно запретить стирание EEPROM выставив фьюз  EESAVE - опять-же с помощью программаторов (просто так или записывая бутлодер)

http://fusecalc.mirmk.net/help/help03.htm

.....устанавливает значение бита EESAVE в единицу (делает незапрограммированным).....

Ошибка как всегда !  В  "0"    то есть запрограммировть

10s
Offline
Зарегистрирован: 05.11.2013

EEPROM останется такой, какой вы ее заполнили в первой программе. Чтобы очистить еепром есть стандартный скетч еепром клеар.

 

dixxx666
Offline
Зарегистрирован: 21.01.2013

2 ustas тогда бы не было этого форума ))) честно говоря, лично я, порядка 20-30 новых тем НЕ создал, всего лишь погуглив по форуму или инету. так, что спасибо за намёк ;)

2 trembo & 10s - спасибо за оперативный и полный ответ!

Благодаря вашим ответам совместно с моими ожиданиями - моя задумка реализуется быстрее! Так как, благодаря этому свойству eeprom, я смогу там накапливать статистику измерений (счетчик воды), и при этом совершенствовать программу (скетч).

ustas
Offline
Зарегистрирован: 12.03.2012

dixxx666, просто если бы у меня возник такой вопрос - я бы проделал следующее:

1. взял пример EEPROM write и записал бы что-то в прау ячеек

2. взял бы пример EEPROM read и прочитал бы эти ячейки

3. залил бы скетч блинк

4. залил бы снова пример EEPROM read и прочитал бы "старые ячейки".

Profit!

dixxx666
Offline
Зарегистрирован: 21.01.2013

Отличный пример последовательности действий для проверки моего вопроса!

Спасибо! :)