亲爱的DS的团队,
我有两个问题要问你:
1).是否有可能在处理器初始化后直接继续扩展睡眠模式,而不是发布(发布可以稍后开始,例如由外部中断发起)?
同时,我用最基本的例子作为基础。我改变了.default_operation_adv.到default_advertise_operation,默认睡眠模式为不带OTP的扩展睡眠,默认处理程序配置为“超时场景”。因此,广告在规定的时间间隔后停止user_app_adv_undirect_complete ()呼叫arch_ble_ext_wakeup_on ().我期待在这一点上延长睡眠模式,然而,电流保持在0.4毫安左右。这对于延长睡眠模式来说肯定是太多了。什么可以阻止处理器切换到睡眠模式?有什么我没有考虑到的关键点吗?
谢谢你,并致以最良好的问候
设备:
嗨moguilevski,
谢谢你的提问。
谢谢,PM_DIALOG.
你好PM_Dialog,
对于当前测量,我使用SmartSnippets电源分布器与DK Pro和DK Basic的万用表。在后一种情况下,我使用3V电池并断开电路板与计算机的连接进行测量。两种情况下闪烁通过Keil的调试会话发生。
在实施第1点建议的变更后,在开始时没有任何广告。但是,电流比在2点2(〜0.4mA)中相同。
附加调试器是什么意思?另外,可以定义/取消定义CFG_DEVELOPMENT_DEBUG块的睡眠模式?
谢谢你!
嗨moguilevski,
你能分享一下你是如何设置睡眠模式的吗?你在app_on_init()中使用arch_set_sleep_mode (ARCH_EXT_SLEEP_ON)吗?当使用Keil IDE时,固件被下载到System-RAM中,DA14585从那里启动。我假设您正在使用“启动/停止调试会话按钮”来下载固件。我你按它一次,然后按“运行”固件运行与调试器附加。这可以防止系统进入睡眠模式。为此,您应该按两次“启动/停止调试会话按钮”。不应该取消定义CFG_DEVELOPMENT_DEBUG宏。你是否遵循了我在之前的评论中建议的教程?
谢谢,PM_DIALOG.
亲爱的PM_Dialog,
我没有在app_on_init()中使用arch_set_sleep_mode(ARCH_EXT_SLEEP_ON),因为假设默认设置:
static const sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;
在user_config.h中就足够了。但是它可能没有被考虑在内(如果我错了,请纠正我),因为主循环回调的相应回调函数不是默认的。后添加arch_set_sleep_mode函数的app_on_init(),我测量2.9µA电流。我想,这也是第2点的解。
的.app_on_init现在是:
非常感谢!
最诚挚的问候
嗨moguilevski,
很高兴你能在延长睡眠模式下测量到正确的电流。这将使设备进入永久休眠模式。如果你发现上面的任何评论是有用的,请为其他论坛用户标记为“接受”。如果您有任何其他问题,请创建一个新的论坛线程。
谢谢,PM_DIALOG.