Страница 1 из 1

Сохранение данных в EEPROM

Добавлено: Вт май 26, 2009 23:02:07
RUNA
Мяу всем!
Как можно осуществить запись данных в EEPROM (MEGA16)при пропадании основного питания?

Добавлено: Вт май 26, 2009 23:10:32
SLvik
Я на пике делал.
Ставишь по питанию большую ёмкость и один порт МК на детектор питания. (До кренки)
Если питание падает ниже заданного порога, ёмкости кондёра хватает чтобы записать данные в EEPROM.

Добавлено: Вт май 26, 2009 23:15:47
RUNA
На сколько большую емкость ставить? У меня стоит 1500мкф не помогает.

Добавлено: Вт май 26, 2009 23:23:53
Pooher
У меня стоит 1500мкф не помогает
Наверное к контроллеру много всего подцеплено, или программа не детектирует нужный момент. Детектор питания лучше завести на внешнее прерывание.

Добавлено: Вт май 26, 2009 23:50:57
RUNA
Да, на МК весит много. Использую вход внешнего прерывания INT1.

Добавлено: Ср май 27, 2009 00:10:15
Pooher
Да, на МК весит много.
Так вот по этому и не успевает записать, слишком большой ток потребления.

Добавлено: Ср май 27, 2009 07:41:12
asteroid7
RUNA писал(а):На сколько большую емкость ставить? У меня стоит 1500мкф не помогает.
Это очень большая ёмкость. Она у вас разражается не на мегу а на схему.

Для меги нужно выделить отдельную небольшую емкость, которую развязать диодами от разряда через общее питание. Детектор пропадания завести на прерывание. В прерывании перевести все порты на вход (DDRx = 0) с подтяжкой к питанию (PORTx = 1). Отключить все таймеры и периферию, и спокойно сохранять.

Сколько байт требуется сохранить?