最近在调试S32K314低功耗唤醒的时候,发现进入休眠后无法唤醒,使用的是外部唤醒,
在正常的时候外部动作该DI,是有反应的,但是一旦进入休眠后,就没有任何反应了
附件是代码工程请问是什么原因造成,应该怎么解决?
Hi,Julián
采纳了你的建议后,发现可以唤醒,是不是就可以说明真的进入了进入Standby模式。
另外想请教一下,进入Standby模式后IO口状态是否维持之前的状态?
还有一个问题,我们电路设计上有一个硬件看门狗需要MCU定时喂狗,低功耗下如何处理?
谢谢,
Joker_Y
嗨@Joker_Y ,
你分享的项目看起来规模相当大。我还没有全部检查一遍,但我可以看到你没有启用相应的唤醒源。您有以下这行代码被注释掉了:
Wkpu_Ip_EnableInterrupt(0,Wkpu_Ip_ChannelConfig_PB[0].hwChannel);
另外,在进入待机状态之前,使用 Clock_Ip_Init() API 将主时钟更改为 FIRC。
您可以参考低功耗示例;它展示了如何更改时钟配置以及如何启用 WKPU 通道。
此致,
朱利安
嗨@Joker_Y ,
1.您可以通过查看 MC_ME.MODE_STAT[PREV_MODE] 来检查您是否处于待机状态。它会显示之前的模式是RESET(任何RESET)还是待机。
您还可以测量MCU的电流消耗。典型的待机值在S32K3XX 的数据手册第 6.7 章(电源电流)中进行了描述。
2. 所有引脚在待机模式下将保持其在运行模式下的最后设置状态。但是,默认情况下,复位事件发生后,所有引脚都会恢复到其默认状态。您可以启用引脚保持功能,确保引脚从唤醒状态恢复到用户再次初始化状态。
请参阅 S32K3XX 参考手册 中的 41.12 垫片保存 。
3. 我想这取决于设计和应用。我认为,你可以将看门狗设置为睡眠状态(如果看门狗支持的话),或者持续唤醒 S32K3(通过 RTC 或任何其他唤醒方式),维护看门狗,然后恢复低功耗状态。
此致,
朱利安
好的,谢谢,我尝试一下