⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
moguilevski.
离线
最后看到:1周4天前
加入:2019-04-30 12:25
开始睡眠

亲爱的DS团队,

我有两个问题:

1)。是否有可能直接在处理器初始化之后与广告初始化而不是广告(广告可以启动,例如,由外部中断启动)?

2)。此外,我正在使用鞍骨示例作为基础。我变了.default_operation_advdefault_advertise_operation.,默认睡眠模式要扩展睡眠,没有OTP,以及默认处理程序配置到“超时 - 方案”。因此,广告在定义的时间间隔之后停止user_app_adv_undirect_complete()调用ARCH_BLE_EXT_WAKEUP_ON()。我预计此时延长睡眠模式,目前的停留时间约为0.4 mA。这绝对用于扩展睡眠模式。可以防止处理器切换到睡眠模式?有任何关键点,我没有考虑吗?

感谢你并致以真诚的问候

设备:
PM_Dialog
离线
最后看到:1天6小时前
职员
加入:2018-02-08 11:03
嗨moguilevski,

嗨moguilevski,

谢谢你的问题。

  1. 是的,有可能。您可以以睡眠模式启动系统而不是启动广告。默认情况下,BLE_APP_BAREBONE示例和SDK的所有其他BLE示例,启动广告。请检查.default_operation_adkabk函数。在此情况下,您应该将此回调设置为null并将设备设置为App_On_Init()函数中的扩展休眠模式。通过这种方式,将在启动时在扩展睡眠模式下启动设备。请记住,如果您想开始广告,您应该唤醒设备。请检查SDK的BLE_APP_SLEEPMODE示例。您可以通过BLE定时器同步地唤醒它,可以通过外部中断(输入)来编程为唤醒系统或异步地唤醒系统或异步。睡眠模式下的所有外设域都断电。 In addition, the device will enter the sleep mode between advertising or connection intervals. Please let me know if you need further steps on how to implement it.
  2. 您能否分享有关您所关注的程序的更多输入,以便测量睡眠电流?你是从Flash还是Sysram启动?另外,是否附有调试器?如果是,则防止系统进入睡眠模式。我建议首先检查教程4:睡眠模式电流测量从我们的支持网站和遵循程序测量睡眠模式电流/

谢谢,PM_Dialog

moguilevski.
离线
最后看到:1周4天前
加入:2019-04-30 12:25
你好pm_dialog,

你好pm_dialog,

对于当前的测量,我使用的SmartSnippets功率分析器与DK Pro和万用表与DK基本。在后一种情况下,我使用3V电池和断开板从计算机进行测量。在这两种情况下,闪烁都是通过Keil的调试会话发生的。

在实施第一点建议的改变后,开始就不再有广告了。然而,电流比它是相同的点2 (~ 0.4mA)。

你的意思是附加的调试器?另外,可以定义/ undefine cfg_development_debug块睡眠模式?

谢谢!

PM_Dialog
离线
最后看到:1天6小时前
职员
加入:2018-02-08 11:03
嗨moguilevski,

嗨moguilevski,

您能分享您如何设置睡眠模式?您是否在app_on_init()中使用此ARC_SET_SLEEP_MODE(ARCH_EXT_SLEEP_ON)?使用Keil IDE时,将固件下载到系统RAM和那里的DA14585靴子。我假设您使用的是“开始/停止调试会话”按钮才能下载固件。我按下它,然后按下调试器的“运行”固件s运行。这可以防止系统进入睡眠模式。为此,您应该按两次“开始/停止调试会话”按钮。您不应该删除cfg_development_debug宏。您是否随后在我以前的评论中遵循了教程?

谢谢,PM_Dialog

moguilevski.
离线
最后看到:1周4天前
加入:2019-04-30 12:25
亲爱的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.现在是:

void user_app_init(void) {arch_set_sleep_mode(ARCH_EXT_SLEEP_ON);arch_ble_ext_wakeup_on ();}

非常感谢你!

此致敬礼

PM_Dialog
离线
最后看到:1天6小时前
职员
加入:2018-02-08 11:03
嗨moguilevski,

嗨moguilevski,

很高兴您能够在扩展睡眠模式下测量正确的电流。这将使设备放入永久睡眠模式。我发现任何上述评论都是有用的,请标记任何其他论坛用户的“接受”。如果您有任何其他问题,请创建一个新的论坛线程。

谢谢,PM_Dialog