你好,
我正在研究一个项目,其中设备默认停留在扩展睡眠模式。在接收前方GPIO中断时,使用GAP_GEN_DISCOVERY模式,该设备唤醒,并扫描非可连接数据包。现在,设备接收中断后,设备在2个案例中进入睡眠模式:
1.在捕获5个数据包后并重新调整它们 - 在此功能之后,从Scanning_Completed()调用以下给出的Go_to_sleep()函数。
2.如果不满足案例1,请在从Scanning_Completed()扫描(使用GAP_GEN_DISCOVERY)之后睡眠睡眠。
我面临的问题是,在案例1中,设备进入睡眠模式,获得2uA的睡眠电流。而在案例2中,设备进入睡眠,但在200uA左右消耗。
void goo_to_sleep(void)
{
g_listener_state = Extended_sleep_on;
ARCH_SET_SLEEP_MODE(ARCH_EXT_SLEEP_ON);
ARCH_BLE_EXT_WAKEUP_ON();
//配置唤醒按钮
app_button_enable();
}
请建议可能的可能原因。
设备:
嗨Wisilica,
当它进入睡眠时,设备不应消耗200uA。您能否请确保芯片进入睡眠模式?可能,在第二种情况下,设备进入睡眠但是它醒来。同样在案例2中,您是否使用go_to_sleep()铭牌1?我建议您调试代码并检查扫描完成后的代码。
谢谢,PM_DIALOG.
你好,
是的,我们在案例2中使用了相同的功能。
谢谢
Wisilica.
嗨Wisilica,
正如我在我的前一篇文章中提到的那样,可以确保在调用Go_to_sleep()函数后,请确保设备进入延长睡眠状态?当它进入睡眠时,设备不应消耗200uA。
谢谢,PM_DIALOG.