大家好,
我目前工作的基础上ble_all_in_one例如示例应用程序。在ble_all_in_one例如顶部的变化情况如下
1.变化的特点和服务
2.编写自定义应用程序数据SPI闪存。
3.按钮事件的变化(我们已经注册了唤醒ISR为同一检测短按和长按)
被称为.app_going_to_sleep 4,添加了功能,即拉低GPIO接口,其关闭板上的自定义硬件完全权力
问题陈述
1.看来,董事会不会进入延长休眠模式和.app_going_to_sleep功能是没有得到调用。我们测量由板所消耗的电压,它是相同的为一体,在操作模式中所消耗。测试点被以这样的方式,如果功率被从电路板切断,TP应低至0.06V作图。
2.检测活动后,董事会应进入电源切断模式。
我试了一下
1.我试着通过如下对话框中提供了休眠模式教程,但尽管如此,我很幸运的了。
2.我想从我的代码删除所有arch_force_active_mode()和arch_force_restore_sleep()调用。
3.我试图注销有关外围断开的GPIO使用wkupct_disable_irq按钮()函数唤醒回调。
4.显式调用arch_set_extended_sleep()函数把板在低功率模式。
如果你需要再详细信息,请随时与我联系。请指导我通过您的宝贵意见解决这个问题。
请多关照
问候
Dhruv直升机沙阿
设备:
嗨dhruv11593,
我的工作在你的问题,我会尽快回复您。
谢谢,PM_Dialog
嗨PM_Dialog,
期待你的回复。如果您需要关于同任何技术帮助,请不要让我知道
嗨dhruv11593,
能否请你让我知道你怎么理解您的设备不打算延长休眠模式?我试图复制你的问题,但在我的身边.app_going_to_sleep回调函数进入延长休眠模式之前总是触发。你尝试添加一个破发点到您的函数,因为.app_going_to_sleep被触发,将执行和运行热附加调试你的代码?
谢谢,PM_Dialog
嗨PM_Dialog,
谢谢你这么多的投入努力,为重建在你的最终我的测试场景。
在我们的定制电路板,以实现更长的电池寿命,我们有一个系统触发GPIO其保持活动状态,直到变低时,它保持高并切断电压系统中的系统。一旦板启动时,我们在pherip_init()函数配置该GPIO为高。在.app_going_to_sleep回调函数,我们是拉这个GPIO低,这切断电源到SoC。
当SOC断电时,在测试焊盘的理想电压是某处大约0.01〜0.03 V和当系统处于活动状态的电压是相同的,所述电池的电流容量。如果.app_going_to_sleep回调得到触发,我们应该看到,从〜3 V的电压下降到0.01 V,这是从来没有的情况。我们测量了系统上的电压后1 3和5的理想的时间分钟,但板仍消耗来自电池的电力。
至于我的理解去,做步调试时,董事会将始终处于活跃状态。否则请澄清。
问候,
Dhruv直升机沙阿
嗨dhruv11593,
正如我能够从你在你的文章中提到该怎么理解,你才能实现你的应用程序做了一些修改到SDK的ble_app_peripheral例子。如果你尝试测试使用SDK的默认实例的.app_going_to_sleep回调函数,因为它是,可以请你让我知道,临睡前回调得到触发?请尝试使用一些破发点并运行你用热附加调试代码。你能看到的代码将停止注册的回调?
所述.app_going_to_sleep回调函数从app_sleep_entry_proc(SLEEP_MODE)调用;其被放置到arch_goto_sleep(sleep_mode_t current_sleep_mode)函数。所述arch_goto_sleep()函数被调用到main_func()在arch_main.c文件的同时(1)无限循环。请您运行代码用热连接调试和检查SLEEP_MODE变量的值。如果您检查在arch.h头文件中的sleep_mode_t枚举,你会看到SLEEP_MODE变量的可能值。所以,如果你使用扩展睡眠模式SLEEP_MODE应该具有0x02值。另外,请检查arch_goto_sleep()函数得到触发。我从我的身边了测试,.app_going_to_sleep是越来越触发。
此外,该DA14583进入广告和连接之间的时间间隔延长休眠模式。能否请你让我知道你板的功耗是多少?如果您使用的是扩展睡眠模式,在user_config.h头的app_default_sleep_mode值应配置这样的:
量静态sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;
谢谢,PM_Dialog