DA14580必须至少每10秒自动唤醒一次,即使没有外部唤醒中断被触发。这种自动唤醒并不会阻止外部唤醒过程如前所述,功能齐全。此限制的解决方案将在本应用程序说明的未来版本中给出,如替代方案仍在调查中。
任何想法?对话框支持
嗨achao1104,
da如果没有持续的ble操作(发布连接间隔等),它每10秒唤醒一次。如果您想抑制此功能,可以调用app_ble_ext_wakeup_on()以从外部中断中唤醒。如果你不想使用这个解决方案你可以改变CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS定义中的值(如果你正在与SDK5)或MAX_SLEEP_DURATION_EXTERNAL_WAKEUP定义中的值(如果你正在与SDK3)为了迫使da醒来更大的间隔。
由于MT_dialog
嗨,对话框的团队,
首先祝大家身体健康,万事如意!
我不经意间读过这段对话……几个星期前,我在论坛问,为什么DA 14580醒来每10秒,因为我们希望优化当前的消费,所以我们有测量它,我们所看到的,这是每一个10秒的当前650µ,持续时间6日5女士。我问,这种行为是否为人所知?现在,我明白了....你知道检察官为什么会有这种行为吗?在系统仍然正常工作的情况下,我能把这个区间设多大?
谢谢
嗨cosianer,
当da在HCI上运行时,应该是RW的剩余部分。该值是在一个27位寄存器中加载的,因此最大值为0x7FFFFFF。
你好,我们使用的是SDK5.0.4,我们尝试将MAX_SLEEP_DURATION_EXTERNAL_WAKEUP的值设置为0x7FFF,而不是MS_TO_SLOTS_CONVERT(CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS) -这应该会给一个~20.5秒的睡眠。我们的模块每13.4秒醒来一次。我们还尝试使用更大的值,如0x7FFFFFF。
您是否尝试使用0x7FFFFFF并检查模块唤醒的频率?是否有其他内部计时器可能在模块进入长睡眠时唤醒模块?是否有任何编译标志,我们应该尝试防止从ke_timer_set以外的唤醒?也许在da1458x_stack_config.h中改变一些东西,比如CFG_GTL?你能检查一下将MAX_SLEEP_DURATION_EXTERNAL_WAKEUP更改为0x7FFFFFF是否会导致连续的长时间深度睡眠吗?例如,在一个外设程序中,广告1分钟,睡眠1分钟,广告1分钟,睡眠1分钟(反复)-在1分钟睡眠中不应该有任何耗电的唤醒。
问候,奥伦
嗨,奥伦,
在pro套件和延长睡眠中的ble_app_sleepmode项目中测试了你已经发布的值0x7fff,模块在大约20.5秒后唤醒,还测试了值0x7FFFFFF,这是寄存器可以取的最大值,但似乎SDK是处理(可能增加)值之前应用到寄存器本身,所以设备唤醒在几毫秒(我假设值包裹和睡眠值i实际上真的很小),为了总共大约23个小时的睡眠,我放置的值是0x7FFFFFC,就我所能测试的而言,它休眠了2个多小时(i是我能运行测试的时间)。据我所知,没有其他定时器或值可以影响设备的唤醒时间。如果在您的设备上通过更改MAX_SLEEP_DURATION_EXTERNAL_WAKEUP的周期间隔不受影响到~13.4秒,那么就我所知,其他东西正在唤醒您的设备。
任何想法?对话框支持
嗨achao1104,
da如果没有持续的ble操作(发布连接间隔等),它每10秒唤醒一次。如果您想抑制此功能,可以调用app_ble_ext_wakeup_on()以从外部中断中唤醒。如果你不想使用这个解决方案你可以改变CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS定义中的值(如果你正在与SDK5)或MAX_SLEEP_DURATION_EXTERNAL_WAKEUP定义中的值(如果你正在与SDK3)为了迫使da醒来更大的间隔。
由于MT_dialog
嗨,对话框的团队,
首先祝大家身体健康,万事如意!
我不经意间读过这段对话……几个星期前,我在论坛问,为什么DA 14580醒来每10秒,因为我们希望优化当前的消费,所以我们有测量它,我们所看到的,这是每一个10秒的当前650µ,持续时间6日5女士。我问,这种行为是否为人所知?现在,我明白了....你知道检察官为什么会有这种行为吗?在系统仍然正常工作的情况下,我能把这个区间设多大?
谢谢
嗨cosianer,
当da在HCI上运行时,应该是RW的剩余部分。该值是在一个27位寄存器中加载的,因此最大值为0x7FFFFFF。
由于MT_dialog
你好,
我们使用的是SDK5.0.4,我们尝试将MAX_SLEEP_DURATION_EXTERNAL_WAKEUP的值设置为0x7FFF,而不是MS_TO_SLOTS_CONVERT(CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS) -这应该会给一个~20.5秒的睡眠。
我们的模块每13.4秒醒来一次。
我们还尝试使用更大的值,如0x7FFFFFF。
您是否尝试使用0x7FFFFFF并检查模块唤醒的频率?
是否有其他内部计时器可能在模块进入长睡眠时唤醒模块?
是否有任何编译标志,我们应该尝试防止从ke_timer_set以外的唤醒?也许在da1458x_stack_config.h中改变一些东西,比如CFG_GTL?
你能检查一下将MAX_SLEEP_DURATION_EXTERNAL_WAKEUP更改为0x7FFFFFF是否会导致连续的长时间深度睡眠吗?例如,在一个外设程序中,广告1分钟,睡眠1分钟,广告1分钟,睡眠1分钟(反复)-在1分钟睡眠中不应该有任何耗电的唤醒。
问候,
奥伦
嗨,奥伦,
在pro套件和延长睡眠中的ble_app_sleepmode项目中测试了你已经发布的值0x7fff,模块在大约20.5秒后唤醒,还测试了值0x7FFFFFF,这是寄存器可以取的最大值,但似乎SDK是处理(可能增加)值之前应用到寄存器本身,所以设备唤醒在几毫秒(我假设值包裹和睡眠值i实际上真的很小),为了总共大约23个小时的睡眠,我放置的值是0x7FFFFFC,就我所能测试的而言,它休眠了2个多小时(i是我能运行测试的时间)。据我所知,没有其他定时器或值可以影响设备的唤醒时间。如果在您的设备上通过更改MAX_SLEEP_DURATION_EXTERNAL_WAKEUP的周期间隔不受影响到~13.4秒,那么就我所知,其他东西正在唤醒您的设备。
由于MT_dialog