工具与软件:
固件将器件置于休眠模式后、器件会在164微秒至30秒的任何时间后退出休眠模式。 这种情况随机发生、大约是千分之一。 发生这种情况时、PRCMSysResetCauseGet ()返回 PRCM_HIB_EXIT (7)、 PRCMHibernateWakeupCauseGet ()返回0。
固件会在进入休眠模式之前执行此操作。
PRCMHibernateWakeUpGPIOSelect (PRCM_HIB_GPIO13、PRCM_HIB_FALL_EDGE);
PRCMHibernateWakeUpGPIOSelect (PRCM_HIB_GPIO17、PRCM_HIB_FALL_EDGE);
PRCMHibernateIntervalSet ((32768 * 2));
PRCMHibernateWakeUpGPIOSelect (PRCM_HIB_GPIO11、PRCM_HIB_FALL_EDGE);
PRCMHibernateWakeUpGPIOSelect (PRCM_HIB_GPIO4、PRCM_HIB_FALL_EDGE);
PRCMHibernateWakeupSourceEnable (PRCM_HIB_GPIO4 | PRCM_HIB_GPIO13 | PRCM_HIB_GPIO17 | PRCM_HIB_GPIO11 | PRCM_HIB_SLOW_CLK_CTR);
uint32_t hibReg = hibRegRead ();
Display_printf (gDisplayHandle、"HibReg %x Hibernate Now!\n"、hibReg);
Display_printf (gDisplayHandle、0、0、"vvvvvvvvvv");
PRCMHibernateEnter();
使用此代码时、我们通常会看到器件在2分钟后退出休眠 模式、PRCMSysResetCauseGet ()返回 PRCM_HIB_EXIT (7)、PRCMHibernateWakeupCauseGet ()返回 PRCM_HIB_WAKEUP_CAUSE_SLOW_CLOCK (2)。
对于如何解决/解决此问题、您有什么想法吗?