DSP缓冲区限制

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
4个职位/0个新职位
最后一篇文章
Greavesinator85号
离线
最后一次见到:3年2个月前
已加入:2016-09-20 17:02
DSP缓冲区限制

你好,

我目前正在使用DA14580的DSP程序。我知道dsp包含用于主机微控制器的出站和入站传输的缓冲区,我的问题是这些缓冲区的默认大小是多少,这个大小可以更改吗,大小限制是多少?

另外,如果主机微控制器在没有蓝牙设备连接的情况下连续写入缓冲区,那么dsp的预期行为是什么?我发现设备停止运行,但我应该在写入每个字符后监视流控制硬件行吗?或者有没有办法检测设备是否已连接?

当做,
满意的

设备:
MT\u对话框
离线
最后一次见到:2个月1周前
工作人员
已加入:2015-06-08 11:34
嗨,格雷夫西纳特,

嗨,格雷夫西纳特,

DSPS设备实现了两个缓冲区,一个用于输入数据,另一个用于输出(ble\ U到periph\ U缓冲区和periph\ U到ble\ U缓冲区),这些缓冲区的大小分别为1800和500字节,您可以更改缓冲区的大小(尽管我不认为有任何理由这么做),以及您对580上可以分配多少堆内存的限制。

如果我们假设主机写入加载了DSPS-fw的580,DSPS将保持唤醒(在广告事件之间不会休眠,因为它至少有一个字节要发送,但没有连接要发送),捕获数据直到到达RX的缓冲区水印,一旦发生这种情况,设备将发出流关闭,以防止外部设备发送更多的数据,如果您不使用流控制,或者引伸装置不尊重从装置流出的流量,只会填满整个缓冲区,并最终发出警告(由于缓冲区被填满而卡在fw断点处)。是的,有一种方法可以检测设备是否已连接,您只需检查任务应用程序的状态(ke\u state\u get(TASK\u APP))。如果设备处于APP\u可连接状态,则表示该设备已准备就绪,并且正在发布广告。

谢谢你的对话

Greavesinator85号
离线
最后一次见到:3年2个月前
已加入:2016-09-20 17:02
谢谢你的对话,

谢谢你的对话,

所以我现在用的是硬件流控制。一旦达到RX水印,我应该看到RTS线路是由设备设置的?因此,通过写入DA14580并监视字节之间的RTS行,我应该能够避免缓冲区过满并导致警告?

抱歉,我的意思是让主机检测DA14580当前是否连接到设备,如DSPS应用程序。

当做,
满意的

MT\u对话框
离线
最后一次见到:2个月1周前
工作人员
已加入:2015-06-08 11:34
嗨,格雷夫西纳特,

嗨,格雷夫西纳特,

设备不会仅在缓冲区被填满到RX水印时发出关闭流,它还会在设备休眠时发出关闭流,例如在广告字符串之间(缓冲区中没有数据时)或连接事件之间。事实上,你会得到一个流关闭并不表示该设备已连接。

谢谢你的对话