大家好,
我正在圣地亚哥大学开发一个项目。在我们的应用中,我们的目标是使用DA14585设备实现超低功耗应用。我们打算用一块1毫米²的太阳能电池为系统供电,并在超级电容器中储存能量。因此,我们需要尽可能降低功耗。
系统的操作将是在系统处于最低功耗模式(即所有设备处于休眠模式)时存储一小时左右的能量,然后它将唤醒,用片上ADC测量一个值,并允许外部系统通过BLE连接访问它。最后,在读取值之后,系统必须立即再次进入睡眠模式,以尽可能节省能源。
我浏览了所有的例子,试图理解和测试所有的例子。我可以将系统配置为通过一个引脚读取模拟电压,然后通过智能手机或带有蓝牙连接的PC访问它。我最近两周一直面临的问题是如何操作睡眠模式。我无法将芯片编程为同步睡眠模式,也无法在需要时进入睡眠状态(就在手机或任何断开连接后)。
我真的很感谢你的帮助:)
我们拥有的硬件是DA14585的PRO开发工具包,带有一堆用于不同测试的子板。
关键词:
设备:
嗨,德莱斯塔,
您可以看看SDK的ble\u app\u睡眠模式示例。该项目位于6.0.14.1114\projects\target\u apps\ble\u examples\ble\u app\u sleepmode SDK path下。设备在预定义的时间后停止广告,然后进入永久睡眠模式。系统还可以在广告或连接间隔之间休眠。请记住,在睡眠模式下,所有外设域都会关闭,因此不能使用任何外设块,如ADC。
谢谢,下午好
你好,
谢谢你的快速回复。
我看了这个例子,我知道在睡眠时外围设备不工作。
我的问题是:在这个例子中,我应该修改什么以使系统在一段时间后醒来?或者以另一种方式,如何编程同步睡眠模式?我在不同的文件中看到了这种可能性,但我找不到必须执行的具体指令,也找不到放置它们的位置。
这个“特定时间”必须以小时为单位。
谢谢你的帮助!
嗨,德莱斯塔,
您可以使用app\u easy\u timer()来定期唤醒,因为这个API用于BLE timer,所以它可以在睡眠模式下使用。
假设你想醒来开始做广告。这可以通过如下所示设置计时器来实现:
应用程序简易计时器(100,cb\u my\u timeout);
第一个参数指定在100*10ms=1000ms=1s后超时的计时器。此时将调用回调cb\u my\u timerout()get。
Mmax定时器延迟41943sec。
谢谢,下午好