大家好,
我正在开发在圣地亚哥大学德国斯特拉大学的项目。在我们的申请中,我们旨在使用DA14585设备进行超低功耗应用。我们打算为系统提供1mm²太阳能电池在超级电容器中储存能量。因此,我们需要尽可能地降低功耗。
The operation of the system would be to be storing energy for an hour or so while the system is in its lowest power consumption mode, i.e., everything in sleep mode, then it will wake up, measure one value with the on-chip ADC and allow an external system to access it through the BLE connection. Finally, right after the value was read, the system must go immediately to sleep mode again to save as much energy as possible.
我经历了所有的例子,试图了解和测试所有这些例子。我能够配置系统通过一个引脚读取模拟电压,并使用蓝牙连接的智能手机或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定时器,因此它可以在睡眠模式下使用。
让我们假设你想醒来并开始广告。这可以通过设置定时器来实现,如下所示:
app_easy_timer(100,cb_my_timeout);
第一个参数指定在100 * 10 ms = 100ms = 1s后的超时计时器。此时回调CB_MY_Timerout()调用。
MMAX定时器延迟41943SEC。
谢谢,PM_DIALOG.