您好!
我正在尝试通过 RTC 匹配和唤醒引脚从休眠中唤醒。 MSP432可以通过引脚唤醒、但不能通过 RTC 唤醒。 这里是配置休眠和进入休眠的部分代码。 我想我忘了一些配置线路、但我不知道是哪条配置线路。
__attribute__((optnone)) Public void CtrlHibernateInit(void)
{
/* Enable the the Hibernate module and wait for it to be ready */
SysCtlPeripheralEnable(SYSCTL_PERIPH_HIBERNATE);
/* If first start up, enable hibernate
* and RTC.
*/
if (HibernateIsActive() == FALSE) {
HibernateEnableExpClk((uint32)CPU_FREQUENCY);
HibernateWakeSet(HIBERNATE_WAKE_PIN | HIBERNATE_WAKE_RTC);
HibernateRTCEnable();
HibernateCounterMode(HIBERNATE_COUNTER_RTC);
HibernateRTCSet(0);
}
}
__attribute__((optnone, noreturn)) Public void CtrlHibernateDoHibernate(void)
{
/*
* Read and clear any status bits that might have been set since
* last clearing them.
*/
uint32 hibIntStatus = HibernateIntStatus(FALSE);
HibernateIntClear(hibIntStatus);
// wake up each 30 seconds
HibernateRTCMatchSet(0, HibernateRTCGet()+30);
HibernateRequest();
for (;;) {
/* Spin for a while for hibernate to activate. */
__NOP();
}
}