目前没有具体的时间值,但做法是在3.3v 上放一个大一点的电容 ,执行完下面的任务。
void BrownoutHandler(void)
{
unsigned long cur_time_second;
// UARTprintf("BOR , Hib Req\n") ;
cur_time_second=HibernateRTCGet();
HibernateRTCEnable();
HibernateRTCMatch0Set(cur_time_second + 5);
HibernateIntRegister(HibIsr) ;
HibernateIntEnable(HIBERNATE_INT_RTC_MATCH_0);
HibernateWakeSet(HIBERNATE_WAKE_RTC);
//
// Request hibernation.
//
HibernateRequest();
SysCtlDelay(SysCtlClockGet()/3) ;
UARTprintf("Complete!\n") ;
//
// Give it time to activate, it should never get past this wait.
//
while(1);
}
|