1周前
使用BLE定时器唤醒BLE深睡眠
张贴了金亨金60分 4回复嗨对话框,
我试图在某个时间段开始睡眠模式,以降低功耗。
基于DA14585数据表I附加,有针对程序BLE睡眠模式和唤醒的指令,请参见第136和137页。
如我所理解的,当我通过设置BLE_ENBPRESET_REG寄存器设置BLE_WAKEUP_LP_IRQ生成时机时,使用BLE_DEEPSLWKUP_REG编程BLE的睡眠持续时间,最后设置BLE_DEEPSLCNTL_REG [DEAD_SLEEP_ON]寄存器,我可以制作睡眠模式。
基于此,我可以使设备进入BLE睡眠模式,停止广告。但是,即使睡眠持续时间过期后,BLE也不会唤醒。
我想在睡眠持续时间到期后,系统自动设置BLE_WAKEUP_LP_IRQ中断唤醒设备。我误解了吗?
你能告诉我如何在编程睡眠时间后从BLE睡眠模式唤醒如何唤醒睡眠模式?
谢谢!
金六龙
附件 | 尺寸 |
---|---|
da14585_datasheet_3v3.pdf. | 5.06 MB. |
1周前
嗨对话框,
谢谢你的答案和评论。
我使用在数据表中写入的寄存器的原因是我想在某个时间段之后唤醒使用计时器。
当我定义cfg_deep_sleep_wakeup_gpio或cfg_deep_sleep_wakeup_por唤醒设备时,我认为我不能使用计时器。这样对吗?
如果是这样,你能告诉我如何使用计时器从深度睡眠模式唤醒DA14585?
谢谢!
金六龙
1周前
嗨Jin-Hoon Kim,
如我以前的回复和根据建议的教程所示,那么DA14585在深度睡眠模式下配置,它只能通过唤醒控制器中的GPIO触发器或通过POR唤醒。
建议使用SDK API,而不是直接使用寄存器。
谢谢,PM_DIALOG.
1周前
嗨Jin-Hoon Kim,
谢谢你的问题在线。由于您使用的是深度睡眠模式,我建议使用我们的SDK API。要将设备放入深度休眠模式,应使用ARCH_SET_DEEP_SLEEP()API。
DA14585只能通过唤醒控制器从POR引脚或GPIO的深睡眠中唤醒。
http://lpccs-docs.dialog-semondile.com/da14531_sleep_mode/deepsleep_config.html.
请参阅以下教程。您可以使用SDK使用PXP_Reporter示例并测试深睡眠。
您应该在user_proxr.h中定义cfg_app_goto_deep_sleep宏。一旦设备停止广告,将触发App_Advertise_Complete()调用put_system_into_deep_sleep()。
PUT_SYSTEM_INTO_DEEP_SLEEP()将唤醒控制器配置为唤醒源,并将系统放入深度睡眠模式。如果定义了CFG_DEEP_SLEEP_WAKEUP_POR,DA14585可以从POR唤醒。
谢谢,PM_DIALOG.