在GAP_GEN_DISCOVERY扫描过程后(10秒后),当设备进入长时间睡眠时,观察到当前消耗200uA

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
4个职位/ 0个新
最后发表
wisilica
离线
最后看到:11个月2周之前
加入:2015-03-17 08:16
在GAP_GEN_DISCOVERY扫描过程后(10秒后),当设备进入长时间睡眠时,观察到当前消耗200uA

你好,

我正在研究一个项目,该设备默认处于延长睡眠模式。当接收到外部的gpio中断时,设备会唤醒,并使用GAP_GEN_DISCOVERY模式扫描不可连接的数据包。现在,设备在接收到中断后,有两种情况进入睡眠模式:
1.在捕获5个包并重新传输它们之后——在完成此功能之后,从scanning_completed()调用下面给出的go_to_sleep()函数。
2.如果情况1不满足,在scaning_completed()中扫描10秒之后(因为使用了GAP_GEN_DISCOVERY)进入睡眠状态。
我面临的问题是,在case 1中,设备进入睡眠模式,获得2uA的睡眠电流。而在第二种情况中,设备进入休眠状态,但消耗了大约200uA。

空白go_to_sleep(空白)

g_listener_state = EXTENDED_SLEEP_ON;
arch_set_sleep_mode (ARCH_EXT_SLEEP_ON);
arch_ble_ext_wakeup_on ();
//配置唤醒按钮
app_button_enable ();

请说明可能的原因。

设备:
PM_Dialog
离线
最后看到:12小时28分钟前
工作人员
加入:2018-02-08 11:03
嗨wisilica,

嗨wisilica,

设备进入睡眠状态时不应消耗200uA左右。你能确保芯片进入休眠模式吗?可能,在第二种情况下,设备进入睡眠状态,但随后又苏醒了。同样在情况2中,你使用go_to_sleep()作为情况1吗?我建议您调试您的代码,并检查扫描完成时它做了什么。

谢谢,PM_Dialog

wisilica
离线
最后看到:11个月2周之前
加入:2015-03-17 08:16
你好,

你好,

是的,我们在情况2中也使用了相同的函数。
谢谢
Wisilica

PM_Dialog
离线
最后看到:12小时28分钟前
工作人员
加入:2018-02-08 11:03
嗨wisilica,

嗨wisilica,

正如我在之前的文章中提到的,能否确保设备在情况2中调用go_to_sleep()函数后进入延长睡眠状态?设备进入睡眠状态时不应消耗200uA左右。

谢谢,PM_Dialog