你好,
连接建立后几秒钟就会断开连接。我们使用长时间睡眠和完全托管设计。
但是如果我们使用arch_ble_force_wakeup(),断开连接就不会发生……
这是正确的使用arch_ble_force_wakeup() ?我认为不应该定期使用arch_ble_force_wakeup()(例如,在睡觉之前,调用arch_ble_force_wakeup())。
而且我认为程序员不需要关心延长睡眠,醒来和连接之间的关系....
如果我能得到任何意见,我将非常感激!
提前感谢您的支持。
最好的问候,
CD
设备:
嗨,CD,
为了让设备维持连接,不应该使用arch_ble_force_wakeup()。该功能强制BLE唤醒时,它没有被编程为唤醒(这意味着,如果你想要你的设备从外部唤醒,那么这个功能应该被使用)。BLE将知道何时唤醒广告或连接事件,而无需编写任何程序。
由于MT_dialog
嗨太,
感谢您的快速回复。
请让我确认你以上的评论。外部唤醒=全嵌入式解决方案设计??
我的设计是完全托管的(集成处理器模型),所以我们根本不应该使用这个函数(arch_ble_force_wakeup),不是吗?意味着,完全托管的模型知道BLE核心何时需要唤醒等等……这是正确的吗? ?
那么,我们在使用SDK.....时应该有问题我们还在睡眠API中使用其他函数。它们是arch_set_extended_sleep()和arch_disable_sleep()。我们可以使用这些功能完全托管设计??在“DA1458x软件平台参考文献(修订版1.0)”,第42页中有一个非常重要的说明:
但是,这是打印错误还是打错了,是吗?这/解决方案? ?可用于全嵌入式解决方案?还是完全托管的解决方案?我甚至在源代码中都找不到答案…
当我想要DA1458X系统时,我们应该如何代码一直保持唤醒在完全托管的解决方案中?我可以使用“ARCH_SET_EXTEDDED_SLEEP()”和“ARCH_DISABLE_SLEEP()”进行集成处理器设计?
再次感谢您的合作。
最好的方面,
CD
嗨,CD,
外部唤醒可以存在于一个完全托管的系统中(从按钮按下唤醒),是的,如果你想让BLE在按钮按下时被激活,你必须强制BLE唤醒。除此之外,系统知道它应该在什么时候唤醒以保持连接处于活动状态,BLE将在那个时候被唤醒。是的,你可以在一个完整的托管解决方案中使用所有的休眠函数,你也可以看看参考设计中实现了多少这些函数(许多这些函数有不同的名称,因为在以前的sdk中实现了ref des)。
由于MT_dialog
嗨太,
非常感谢!
现在,我开始明白了。请让我确认一下arch_ble_force_wakeup()的用法;
我附上了Excel文件来可视化我的图像...请参考它。
文件中有一些确认问题。
再次感谢您的支持。
最好的问候,
CD
嗨,CD,
1)是的,这是正确的,如果你使用外部中断,你想要你的BLE是激活的,你必须强制它。
2)当你使用arch_disable_sleep()你的设备不会休眠,当你调用arch_set_extended_sleep()休眠机制将被启用。
3)既然你禁用睡眠当你的按钮是打你不能看到任何睡觉之间活动连接的间隔,这并不意味着你的设备将会继续发送数据,间隔将仍然保持相同但da不会得到它能得到的最低功率模式。从问题3的图像看来,你认为da会持续地传输。它只会在连接间隔之间消耗更多的能量。
由于MT_dialog
嗨太,
非常感谢! !我可以理解睡眠API的架构。
关于使用C中的图像,这只是问题的一个例子,我不想这样做。我只是想知道睡眠API中的函数是如何工作的。
再次感谢您的支持。所有关于睡眠API的问题现在都清楚了。
最好的问候,
CD