Кондер стоит по 12 вольтам. от этой же напруги питается dc-dc на 5 вольт(Мега и логика). А диод после +12 стоит, он и отсекает всю нагрузку по этой линии питания. BOD стоит внешний вместе с WDT. Я мог проверить факт попадания в процедуру прерывания тупо уменьшая входное питание от БП. Делитель расчитал вроде верно с достаточным запасом. При 19 вольтах появляется сработка. Вот п/п от компаратора:
Код
__interrupt void MainPowerFail(void)
{
asm("cli");
if ((!drv_pan.drv_on)&&(!drv_tilt.drv_on)) // если тока приводы не включены - значит можно сохранить, а иначе нет смысла
{Wr_Ee_Int((int)&PanFailPos, drv_pan.pos_pan); //сохраняем данные
Wr_Ee_Int((int)&TiltFailPos,drv_tilt.pos_tilt);
Wr_Eeprom((int)&ErrorFlag, (SYSTEM_STATUS|POS_SAVED));
while (bit_is_set(ACSR, ACO)){} //ждемс пока питание не восстановится
}
}
Так можно решить задачу ожидания восстановления питания?