DSPs断开连接

4个帖子/ 0新
最后一篇
asmaith.
离线
最后一次露面:5年2周前
专家
加入:2014-11-20 08:45
DSPs断开连接

您好,

我使用DA14580-01拥有定制板,
我正在使用DSPS配置文件,每当用户使用DSPS向DA14580发送数据时,我需要一组类似于写入我的SPI接口之一的一组操作(所有此过程需要大约100秒),但我观察到的是平均我的BLE设备已断开连接。

请告诉我可能的原因?

让我的BLE始终解决我的问题吗?

谢谢
asmaith.

mhv_dialog.
离线
最后一次露面:1周18小时前
员工
加入:2013-12-06 15:10
嗨,

嗨,

DA14580是单一核心SOC,这意味着您的应用程序需要免费提供资源,以便允许为蓝牙连接进行维护。通常是一个智能设备,如果外围设备没有响应2秒(它被称为监控超时),将断开连接。

您必须将您的时间耗时地耗时到较小的块中并使用计时器暂停/恢复这些较小的任务。还建议您使用收音机同步您的耗时活动,以便在无线电完成任务时启动任务。

通过更改睡眠模式实现,此问题不会消失。

asmaith.
离线
最后一次露面:5年2周前
专家
加入:2014-11-20 08:45
你好mhv_dialog,

你好mhv_dialog,
我无法完全理解你的解释。
如果有任何实施例或一些信息,你可以让我知道吗,我可以进一步清楚地了解这一点。

此外,我的情况是,当用户向DA14580发送一些数据时,它会调用app_ble_push函数,
I have a task that takes around 100sec and unless this task completes I can't allow the user to send any data via DSPS application to DA14580, because from the data what user sends I will be writing corresponding values to my slave registers(i.e. my task which takes 100secs of time).

那么好的帮助我。

谢谢
asmaith.

mhv_dialog.
离线
最后一次露面:1周18小时前
员工
加入:2013-12-06 15:10

不可能同时为需要100秒的任务服务并维护蓝牙连接。您必须找到一种方法来将任务拆分为更小,更耗时的任务,从而允许微控制器时间和资源为蓝牙连接提供服务。您必须在DSPS示例应用程序中实现流量控制机制,可用于防止在忙于编写到从属寄存器时传输的新数据。这是你应该做的事情的轮廓:

当您从用户收到数据时,将数据包返回给用户以阻止传输。然后写一些寄存器并设置计时器。当计时器超时写入另一个寄存器等时,直到写入所有寄存器。此时您可以向用户发送数据包以允许新的传输。