sps缓冲区大小

7个帖子/ 0个新
最后发表
roinovi
离线
最后看到:3年10个月前
加入:2015-11-04 18:11
sps缓冲区大小

你好
我从我的设备通过uart到DA14580和通过ble到dsps iphone应用程序使用sps_device演示传输数据
但是我不想连续发送,我想通过uart接收~5kB到DK,然后通过ble发送到iphone应用程序
所以基本上我想一次发送一批~ 5kB
我应该在哪里做改变

tnx
roi

关键词:
设备:
MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨roinovi,

嗨roinovi,

50kB是一个很大的数据量,我不认为你可以把缓冲区增加那么多。虽然你可以试着删除迭代检查我们在app_ble_pull()所以没有发送数据由于时间的流逝,和传送只有当如果你想要达到的极限(阅读量),增加缓冲区的大小尺寸你想要RX_BUFFER_ITEM_COUNT,此外,您应该小心地将发送限制设置在RX_BUFFER_HW限制之下为了不丢失数据增加HW。我想这行得通。

由于MT_dialog

roinovi
离线
最后看到:3年10个月前
加入:2015-11-04 18:11
我的数据大小是5kB而不是50kB

我的数据大小是5kB而不是50kB,这更合理吗?
我在"app_sps_scheduler.h"中更改了这些
#定义RX_BUFFER_ITEM_COUNT (int) 4940

#define RX_BUFFER_HWM (int) 3458 //70%
#define RX_BUFFER_LWM (int) 1482 //30%
在“app_ble_pull”
If ((read_amount = app_item_count(&uarttoble_buffer)) ==4940);

// if (read_amount >= TX_WAIT_LEVEL || (rounds_waiting++) >= TX_WAIT_ROUNDS)
/ / {
// roundds_waiting = 0;
app_init_ble_tx ();
/ /}

但在iphone应用程序中,它不能识别DK
然而,当我改变缓冲区大小为2000它工作,应用程序识别DK,我看到数据的批量传输(2000 char我认为)
2000缓冲区的大小是最大的工作,超过这个应用程序不能识别DK
原因是什么?
是否还有其他参数需要更改?
为什么缓冲区大小受到限制?
我不能在闪存中存储数据吗?

roi

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨roinovi,

嗨roinovi,

抱歉50kB,这是一个打印错误,5k对于缓冲区来说仍然是一个很大的数据量。这个配置没有经过测试,我只能提供如何做到这一点的建议。

没有什么我可以想到,你应该改变,我猜这是当前内存映射的限制,这就是为什么你不能看到任何功能的应用程序。在flash中存储数据是你可能想要尝试的东西,因为当外部设备发送时,你将不得不在flash中存储数据,我不知道你是否能够保持。

由于MT_dialog

YuanhangWu
离线
最后看到:5年2周以前
专家
加入:2015-03-25 08:19
嗨,roinovi

嗨,roinovi

#定义RX_BUFFER_ITEM_COUNT (int) 4940
#define RX_BUFFER_HWM (int) 3458 //70%
#define RX_BUFFER_LWM (int) 1482 //30%

它能提高每秒SPS kB的速率吗?

roinovi
离线
最后看到:3年10个月前
加入:2015-11-04 18:11
你说"是可以吗"是什么意思

你的意思是“它能增加每秒的SPS kB的速率吗?”

我如何写和读数据到\从闪存?
请参考示例或手册
tnx

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨roinovi,

嗨roinovi,

请看一下SDK在peripheral_examples项目有一个如何使用SPI flash的例子,也有一些参考设计,如信标和智能标签都使用SPI flash。

由于MT_dialog