如何验证我的系统正在进入睡眠模式吗?在睡觉/醒来时,是否有特定的回调?
我的代码目前正在调用以下函数:
/ * *在唤醒周期,等待XTAL32M晶体沉淀。* BLE,USB和UART块需要XTAL32M才能启动和*运行正常工作。* / pm_set_wakeup_mode(true);/ *设置所需的睡眠模式。* / pm_sleep_mode_set(pm_mode_exted_sleep);/ *设置所需的唤醒模式。* / pm_set_sys_wakeup_mode(pm_sys_wakeup_mode_fast);
这是我需要设置的全部,以确保我们睡觉的广告?
如果我是中心,我正在扫描,我可以期待什么类型的睡眠时间表?
我在另一个帖子中读取了SmartSnippets工具箱无法正确读取UA中的睡眠周期值。如果我们想在长期睡眠周期中确认我们的设备的当前用法,您如何建议我们程序?
谢谢,
约翰
设备:
嗨,约翰,
非常感谢您的问题。我们将直接携带在您的注册电子邮件地址。
谢谢,PM_DIALOG.
你好
这是da1468x的答案
如果您希望确保系统处于睡眠模式,则可以使用JTAG探测器并在WFI指令上使用断点。JTAG探针将有助于确定所有条件何时达到睡眠状态(操作系统,BLE,外围设备适配器,...)的等待任务。在这一精确的时刻,睡眠关闭的所有Ressources都不可用(例如I2C寄存器库或关闭电源域中的任何寄存器库)。WFI的代码行位于ARM传递的CMSIS文件(SDK / BSP / Include / CMSIS_GCC.H)中。此休息应允许您检查外围设备的电源和您的GPIO状态,以确保没有缺少任何东西以维持最小的服务。
唤醒后,所有这些寄存器银行都被唤醒程序恢复,因此您可以在关闭期间看到它们将零归零,并在唤醒后返回其先前的状态。
系统使用计时器1来管理其休眠时间,以便您还可以从Timer1中断处理程序发送信号以例如GPIO和范围或LED。
鲍勃
嗨鲍勃,
非常感谢您的迹象和答案。
问候,pm_dialog