ATMEGA162. Проблема со спасением данных при выключении питания. Помогите, братья!
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено --- 24 ноября 2004 г. 10:23

Одна процедура спасает 9 байт данных при выключении питания. Другая восстанавливает. При нормальном питании обе работают безупречно. Но при падении напряжения байты не записываются. При этом слышен контрольный писк (0,1 сек). Напряжение падает с 12 до 8, при этом стартует процедура спасения. А 5 вольт еще держатся стабилизатором
некоторое время. В чем ошибка? Не хватает энергии для записи? Ткните мордой, please. Заранее благодарен всем.


///////////////////////////////////////////////////////////
void CntINT2SaveData()//save data when power down!
{
Rec record;
Rec* p_record;
int i;
p_record = &record;
//---------------------------------------------------------
record.cnt_in = cnt_in;
record.cnt_out = cnt_out;
record.timestamp = time;//structure for time data storing
for(i = 0;i {
cnt_data[i] = *((char*)p_record);//structure for store count data
(char*)p_record++;
}//for
SndBeep();//beep 200 mS
}
///////////////////////////////////////////////////////////
void CntRestoreData()//restore data when power up!
{
Rec record;
Rec* p_record;
int i;
p_record = &record;
//---------------------------------------------------------
for(i = 0;i {
*((char*)p_record) = cnt_data[i];//structure for store count data
(char*)p_record++;
}//for
cnt_in = record.cnt_in;
cnt_out = record.cnt_out;
}
///////////////////////////////////////////////////////////



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru