你好支持团队,
我目前正在使用带有SDK 5.0.3的DA14580使用Murata TypeZY模块。我正在使用SDK提供的鞍柱示例项目,并希望将我的应用程序配置为扩展睡眠,直到从GPIO收到中断(没有广播)。一旦收到中断,我希望将应用程序开始,通常会像它一样,广告更新的制造商提供的数据。我有点困惑如何在用户空间的上下文中实现这一点。关于开始或如何接近这方面的任何建议都会受到赞赏。谢谢。
嗨戴夫,
您可以在App_Button_Press()函数上查看智能标记参考设计,以便在睡眠模式时唤醒设备,然后启动广告。同样在相同的参考设计中,您可以在函数结束时看一下App_adv_timer_Handler来检查如何将设备放在永久睡眠中。它可能在不同的SDK上,但API在新SDK上并不不同。请检查文档UM-B-050和UM-B-51。
谢谢mt_dialog.
我一直通过一些代码,并有几个问题,并希望澄清一些概念。
1)当我编辑user_config.h:app_default_sleep_mode = arch_ext_sleep_on时,工作不广告时,芯片进入延长睡眠模式。在主循环中,处理器等待中断唤醒,这是正确的吗?这种中断来自哪里,允许它醒来并再次宣传?
2)如果我禁用广告,处理器会留在睡眠状态,直到我生成中断?
3)参考UM-B-050的图26,在代码流中,我应该在给定我尝试做什么(延长睡眠直到按下按钮中断)。
谢谢
1-是在主循环中,DA等待中断才能唤醒,中断是预先定期的BLE事件,请建议文档UM-B-006有关睡眠机制的更多详细信息。
2-如果禁用广告,并且DA不必做任何事情(没有生成BLE中断),它将保持在睡眠模式下,最终将唤醒(默认情况下,DA在短时间内稍微醒来)它会睡着了,如果你想避免醒来,你可以发出app_ble_ext_wakeup_on,以便仅通过外部中断唤醒。
3-您可以尝试当您的数据库创建完成而不是广告,以便在永久睡眠中设置设备,但首先您必须配置唤醒按钮和中断。
Thansk mt_dialog.
感谢您的建议,如果我使用裸BONES示例项目的原始功能,我现在可以将设备放在睡眠状态(如建议的DB创建期间),然后用按钮唤醒它。我的目标是使函数mnf_data_update()在I2C总线上读取传感器。我以前有这个工作,而不是迫使睡眠的时候仍然有效。但是,当我尝试将睡眠/唤醒功能与I2C传感器读数结合在MNF_DATA_UPDATE()中,它停止工作。
当应用程序启动时,我会在睡觉时打开LED。然后回调函数关闭LED并重新启动广告,这一切都以其原始形式使用MNF_DATA_UPDATE()。当我使用我的I2C代码(使用I2C API调用)时,当我按下按钮唤醒DA LED停留时,不会发生I2C事务(用范围监控),AVG电流拍摄高达0.56 mA(用智能片段监控)。峰值电流约为1.022 mA,因此我不认为它曾经试图宣传。有什么我错过的东西可能会导致这种行为吗?谢谢。
可能存在I2C代码或传感器的问题。您是否可以通过通用应用程序看到您的设备广告,如果不是我认为您的设备已卡在I2C事务中。从睡眠中醒来时,您是否重新配置了I2C和您的外围设备?
我必须检查以确保我重新配置I2C和外围设备。使用BLE扫描仪(Android应用程序)扫描时,我没有看到设备的任何广告。此外,我正在监视具有范围的I2C行,并且事务永远不会开始。我将一个GPIO引脚与我的按钮回调功能设置,但LED永远不会让我相信执行永远不会进入该功能。我会在查看代码后报告。再次感谢您的帮助。
这并不长时间......我加入了对PushButton回调函数的外设初始化函数的调用,现在它按预期工作。再次感谢您的帮助,非常感谢。
嗨,支持团队,请让我在每一段时间询问关于ext_sleep模式的问题。我需要在内部唤醒它。我已经读过UM-B-006,但我有点困惑如何以及在哪里写代码。在SDK5代码中,这是关于它的。请帮我!
嗨wuxin_1019,
请检查您的其他帖子。
http://support.dialog-seminiondiondiondiondum/extsleep-mode-every-cartinautime.
嗨戴夫,
您可以在App_Button_Press()函数上查看智能标记参考设计,以便在睡眠模式时唤醒设备,然后启动广告。同样在相同的参考设计中,您可以在函数结束时看一下App_adv_timer_Handler来检查如何将设备放在永久睡眠中。它可能在不同的SDK上,但API在新SDK上并不不同。请检查文档UM-B-050和UM-B-51。
谢谢mt_dialog.
我一直通过一些代码,并有几个问题,并希望澄清一些概念。
1)当我编辑user_config.h:app_default_sleep_mode = arch_ext_sleep_on时,工作不广告时,芯片进入延长睡眠模式。在主循环中,处理器等待中断唤醒,这是正确的吗?这种中断来自哪里,允许它醒来并再次宣传?
2)如果我禁用广告,处理器会留在睡眠状态,直到我生成中断?
3)参考UM-B-050的图26,在代码流中,我应该在给定我尝试做什么(延长睡眠直到按下按钮中断)。
谢谢
嗨戴夫,
1-是在主循环中,DA等待中断才能唤醒,中断是预先定期的BLE事件,请建议文档UM-B-006有关睡眠机制的更多详细信息。
2-如果禁用广告,并且DA不必做任何事情(没有生成BLE中断),它将保持在睡眠模式下,最终将唤醒(默认情况下,DA在短时间内稍微醒来)它会睡着了,如果你想避免醒来,你可以发出app_ble_ext_wakeup_on,以便仅通过外部中断唤醒。
3-您可以尝试当您的数据库创建完成而不是广告,以便在永久睡眠中设置设备,但首先您必须配置唤醒按钮和中断。
Thansk mt_dialog.
感谢您的建议,如果我使用裸BONES示例项目的原始功能,我现在可以将设备放在睡眠状态(如建议的DB创建期间),然后用按钮唤醒它。我的目标是使函数mnf_data_update()在I2C总线上读取传感器。我以前有这个工作,而不是迫使睡眠的时候仍然有效。但是,当我尝试将睡眠/唤醒功能与I2C传感器读数结合在MNF_DATA_UPDATE()中,它停止工作。
当应用程序启动时,我会在睡觉时打开LED。然后回调函数关闭LED并重新启动广告,这一切都以其原始形式使用MNF_DATA_UPDATE()。当我使用我的I2C代码(使用I2C API调用)时,当我按下按钮唤醒DA LED停留时,不会发生I2C事务(用范围监控),AVG电流拍摄高达0.56 mA(用智能片段监控)。峰值电流约为1.022 mA,因此我不认为它曾经试图宣传。有什么我错过的东西可能会导致这种行为吗?谢谢。
嗨戴夫,
可能存在I2C代码或传感器的问题。您是否可以通过通用应用程序看到您的设备广告,如果不是我认为您的设备已卡在I2C事务中。从睡眠中醒来时,您是否重新配置了I2C和您的外围设备?
谢谢mt_dialog.
我必须检查以确保我重新配置I2C和外围设备。使用BLE扫描仪(Android应用程序)扫描时,我没有看到设备的任何广告。此外,我正在监视具有范围的I2C行,并且事务永远不会开始。我将一个GPIO引脚与我的按钮回调功能设置,但LED永远不会让我相信执行永远不会进入该功能。我会在查看代码后报告。再次感谢您的帮助。
这并不长时间......我加入了对PushButton回调函数的外设初始化函数的调用,现在它按预期工作。再次感谢您的帮助,非常感谢。
嗨,支持团队,
请让我在每一段时间询问关于ext_sleep模式的问题。我需要在内部唤醒它。我已经读过UM-B-006,但我有点困惑如何以及在哪里写代码。
在SDK5代码中,这是关于它的。
请帮我!
嗨wuxin_1019,
请检查您的其他帖子。
http://support.dialog-seminiondiondiondiondum/extsleep-mode-every-cartinautime.
谢谢mt_dialog.