你好所有的,
我正在圣地亚哥德孔波斯特拉大学开发一个项目。在我们的应用中,我们的目标是与DA14585器件一起实现超低功耗应用。我们打算用一个1平方毫米的太阳能电池在超级电容器中存储能量来为系统供电。因此,我们需要尽可能地减少功耗。
的操作系统将会为一个小时左右而储存能量系统以最低功耗模式,也就是说,一切在睡眠模式下,它就会醒来,衡量一个值与芯片上的ADC,允许外部系统通过BLE连接来访问它。最后,在读取数值后,系统必须立即再次进入睡眠模式,以尽可能节省能源。
我浏览了所有的示例,试图理解并测试它们。我能够配置系统,通过一个引脚读取模拟电压,并通过智能手机或PC通过蓝牙连接访问它。过去两周我一直面临的问题是如何操作睡眠模式。我无法对芯片进行同步睡眠模式编程,并在需要时进入睡眠(就在电话或任何断开连接之后)。
我真的很感激你的帮助:)
我们拥有的硬件是DA14585的PRO开发工具包,带有一堆用于不同测试的子板。
关键词:
设备:

嗨DLesta,
您可以看看SDK的ble_app_sleepmode示例。项目可以在6.0.14.1114\projects\target_apps\ble_examples\ble_app_sleepmode SDK路径下找到。该设备在预定义的时间后停止广告,然后进入永久睡眠模式。系统也可以在广告或连接间隔之间休眠。请记住,当处于睡眠模式时,所有外围域都将关闭,因此您不能使用任何外围块,比如ADC。
谢谢,PM_Dialog
你好,
感谢您的快速回复。
我看了一下那个例子,我意识到当我睡觉时外围设备不工作。
我的问题是:在这个例子中,我应该修改什么以使系统在一段时间后苏醒?或者以另一种方式,同步睡眠模式如何被编程?我在不同的文件中看到这是一种可能性,但我无法找到必须执行这样做的具体指令,或在哪里放置它们。
这个“特定的时间”必须是小时的顺序。
谢谢你的帮助!
嗨DLesta,
您可以使用app_easy_timer()来定期唤醒,因为这个API使用BLE计时器,所以它可以在睡眠模式下使用。
假设你想一觉醒来就开始做广告。这可以通过如下所示设置计时器来实现:
cb_my_timeout app_easy_timer (100);
第一个参数指定计时器在100 * 10 ms = 1000ms = 1s之后超时。此时会调用回调cb_my_timerout()。
Mmax定时器延时41943秒。
谢谢,PM_Dialog