This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
void HibernateIn(void)
{
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);
MAP_HibernateEnableExpClk(SysCtlClockGet());
HibernateGPIORetentionEnable();
MAP_HibernateWakeSet(HIBERNATE_WAKE_PIN);
MAP_HibernateRequest();
while(1)
{
}
}
我的初衷是要配置一个进入休眠及通过wake唤醒的Hibernation,代码不知道有没有什么问题?
关于唤醒,如果不配置中断处理函数,当通过pin唤醒后,程序是不是又从main函数入口处重新执行
如何判断当前是通过何种方式唤醒的?调用HibernateIntStatus()能get到吗?
芯片冲HIB模式唤醒会触发POR 复位,程序指针会指向复位地址,而不是直接跳到MAIN函数入口。这时你可以检查中断状态标志位来判断是正常的POR还是HIB唤醒造成的POR.具体的标志位在HIBMIS寄存器中。
你好,Tibaware中包含具体的pin唤醒例程,您可以参考
唤醒后,会执行por复位,同时恢复battery-backed memory所保存的进入hibernation之前的state.
Yuanjing ran
请检查一下你的代码 有没有使能hibernate的始终 可以通过下面这句代码实现:
SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);