⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
10个帖子/ 0个新帖子
最后发表
JBaczuk
离线
最后看到:2年3个星期前
加入:2014-12-31 23:41
深度睡眠和醒来

你好,
我正在使用DA14580 BLE和基本套件,并连接了GPIO上的一个按钮。
现在我想在DA14580 BLE上实现以下功能。
1.开机深度睡眠意味着它会永久休眠,只有外部GPIO才能唤醒它。(没有广告也)
2.深度睡眠后,在GPIO中断时将其唤醒。
3.在没有连接的情况下,再次对来自应用程序或定时器的请求设置深度睡眠,直到或除非GPIO中断不会到来。

我已经参考了Training_04_sleep_modes_current_measurement_v1.0.pdf,但是我不知道如何将DA14580置于永久深度睡眠(只有GPIO中断可以唤醒它),以及在唤醒后如何重新启动BLE profile。

如何使用GPIO中断实现以上深度睡眠和唤醒?

设备:
MT_dialog
离线
最后看到:7个月4天前
工作人员"title=
加入:2015-06-08 34
嗨JBaczuk,

嗨JBaczuk,

你可以看看SDK的例子ble_app_sleepmode,它确实做了你正在请求的深度睡眠,广告几秒钟,然后进入永久睡眠,直到GPIO中断(按钮)触发它,然后开始再次广告。

由于MT_dialog

JBaczuk
离线
最后看到:2年3个星期前
加入:2014-12-31 23:41
谢谢,

谢谢,

我已经检查SDK示例ble_app_sleepmode。
已将PORT2_2 GPIO连接到输入中断按钮,工作正常。
但是有一个查询,我已经参考了wkupct_enable_irq函数的定义。


/**
****************************************************************************************
* @brief启用唤醒IRQ。
* @param[in] sel_pins选择启用的输入(0-disabled, 1-enabled)
* - Bits 0-7 ->端口0(P00..P07)
* -位8-13 ->端口1(P10..P15)
* -比特14-15 ->端口2(P28,P29)
* -比特16-23 ->端口2(P00..P07)
* - Bits 24-31 ->端口3(P30..P37)
* @param[in] pol_pins输入的极性(0-高,1-低)
* - Bits 0-7 ->端口0(P00..P07)
* -位8-13 ->端口1(P10..P15)
* -比特14-15 ->端口2(P28,P29)
* -比特16-23 ->端口2(P00..P07 .
* - Bits 24-31 ->端口3(P30..P37)
* @param[in] events_num唤醒中断前的事件数。Max 255。
* @param[in] deb_time恢复时间。Max 0x3F (6msec)
* @return无效
****************************************************************************************
*/
Void wkupct_enable_irq(uint32_t sel_pins, uint32_t pol_pins, uint16_t events_num, uint16_t deb_time);

根据注释,我不能使用PORT2_2来启用唤醒IRQ,但现在它可以工作了。
是否推荐使用PORT2_2作为中断输入?

谢谢

MT_dialog
离线
最后看到:7个月4天前
工作人员"title=
加入:2015-06-08 34
嗨JBaczuk,

嗨JBaczuk,

你可以使用端口/引脚2_2作为唤醒中断,使用它没有问题。

由于MT_dialog

xuguizhong
离线
最后看到:3年4个月前
加入:2017-06-30探测
嗨MT_dialog,

嗨MT_dialog,

请问如何在BLE定时器唤醒(不是Port/Pin唤醒)的情况下使DA14580进入深度睡眠?
你能给我一个基于SDK 5.0.3的演示项目吗?

谢谢你!

MT_dialog
离线
最后看到:7个月4天前
工作人员"title=
加入:2015-06-08 34
嗨xuguizhong,

嗨xuguizhong,

请查看你其他帖子的回复。

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl..。

由于MT_dialog

弗拉德
离线
最后看到:9个月,3个星期前
加入:2017-05-17十
嗨,MT_dialog

嗨,MT_dialog
Ble_app_sleepmode的工作方式正如你所描述的。但当我解开
#定义CFG_DEVELOPMENT_DEBUG
对于关闭SYSRAM,我看到设备定期重新启动——每隔几秒钟,我就会看到引导加载程序通过UART发送一些东西(像往常一样,当它启动时),我还观察到当前的消耗激增。设备没有广告,只是定期重启的迹象。所以,你能告诉我,如何关闭RAM并进入永久和完全的深度睡眠,所有外设,时钟和BLE都关闭电源,而不需要重新启动?
我正在使用TDK SESUSB-PAN-D14580 EVK USB dongle。

MT_dialog
离线
最后看到:7个月4天前
工作人员"title=
加入:2015-06-08 34
你好弗拉德,

你好弗拉德,

你在OTP中应用了图片吗?如果你不燃烧的OTP ble_app_sleepmode弗兰克-威廉姆斯,你只是下载弗雷德里克基尔设备通过将保持清醒和广告2秒后,将去睡觉,醒来在接下来的广告间隔,所以它将尝试执行一个OTP为了继续复制广告,所以OTP中没有图像,设备将处于未定义状态,显然将重置并运行主引导加载程序。如果您已经在OTP中应用了该映像,显然您在OTP中下载的fw会重置设备(发生NMI或硬故障)。你是否尝试过ble_app_sleepmode,在OTP中燃烧它,并看到这种行为?因为我不能复制它(在一个对话开发工具包,因为我没有一个tdk usb dongle)。使用深度睡眠的过程包括:设置app_default_sleep_mode = ARCH_DEEP_SLEEP_ON;并配置#define CFG_MEM_MAP_DEEP_SLEEP,取消定义CFG_DEVELOPMENT_DEBUG并在OTP中烧制映像,这将设置设备为深度睡眠模式,并关闭所有外设,包括系统ram。

由于MT_dialog

弗拉德
离线
最后看到:9个月,3个星期前
加入:2017-05-17十
谢谢你的快速回复

感谢您的快速回复!不,我没有闪过OTP。代码从flash启动。这是否意味着我们不能使用DEEP SLEEP如果代码是从flash镜像的?

MT_dialog
离线
最后看到:7个月4天前
工作人员"title=
加入:2015-06-08 34
你好弗拉德,

你好弗拉德,

是的,深度睡眠模式只能在fw烧录OTP时使用,当设备从flash启动时不能使用深度睡眠模式。

由于MT_dialog