Страница 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). Отключить все таймеры и периферию, и спокойно сохранять.
Сколько байт требуется сохранить?