你好我从我的设备通过uart到DA14580和通过ble到dsps iphone应用程序使用sps_device演示传输数据但是我不想连续发送,我想通过uart接收~5kB到DK,然后通过ble发送到iphone应用程序所以基本上我想一次发送一批~ 5kB我应该在哪里做改变
tnxroi
嗨roinovi,
50kB是一个很大的数据量,我不认为你可以把缓冲区增加那么多。虽然你可以试着删除迭代检查我们在app_ble_pull()所以没有发送数据由于时间的流逝,和传送只有当如果你想要达到的极限(阅读量),增加缓冲区的大小尺寸你想要RX_BUFFER_ITEM_COUNT,此外,您应该小心地将发送限制设置在RX_BUFFER_HW限制之下为了不丢失数据增加HW。我想这行得通。
由于MT_dialog
我的数据大小是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
抱歉50kB,这是一个打印错误,5k对于缓冲区来说仍然是一个很大的数据量。这个配置没有经过测试,我只能提供如何做到这一点的建议。
没有什么我可以想到,你应该改变,我猜这是当前内存映射的限制,这就是为什么你不能看到任何功能的应用程序。在flash中存储数据是你可能想要尝试的东西,因为当外部设备发送时,你将不得不在flash中存储数据,我不知道你是否能够保持。
嗨,roinovi
#定义RX_BUFFER_ITEM_COUNT (int) 4940#define RX_BUFFER_HWM (int) 3458 //70%#define RX_BUFFER_LWM (int) 1482 //30%
它能提高每秒SPS kB的速率吗?
你的意思是“它能增加每秒的SPS kB的速率吗?”
我如何写和读数据到\从闪存?请参考示例或手册tnx
请看一下SDK在peripheral_examples项目有一个如何使用SPI flash的例子,也有一些参考设计,如信标和智能标签都使用SPI flash。
嗨roinovi,
50kB是一个很大的数据量,我不认为你可以把缓冲区增加那么多。虽然你可以试着删除迭代检查我们在app_ble_pull()所以没有发送数据由于时间的流逝,和传送只有当如果你想要达到的极限(阅读量),增加缓冲区的大小尺寸你想要RX_BUFFER_ITEM_COUNT,此外,您应该小心地将发送限制设置在RX_BUFFER_HW限制之下为了不丢失数据增加HW。我想这行得通。
由于MT_dialog
我的数据大小是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
嗨roinovi,
抱歉50kB,这是一个打印错误,5k对于缓冲区来说仍然是一个很大的数据量。这个配置没有经过测试,我只能提供如何做到这一点的建议。
没有什么我可以想到,你应该改变,我猜这是当前内存映射的限制,这就是为什么你不能看到任何功能的应用程序。在flash中存储数据是你可能想要尝试的东西,因为当外部设备发送时,你将不得不在flash中存储数据,我不知道你是否能够保持。
由于MT_dialog
嗨,roinovi
#定义RX_BUFFER_ITEM_COUNT (int) 4940
#define RX_BUFFER_HWM (int) 3458 //70%
#define RX_BUFFER_LWM (int) 1482 //30%
它能提高每秒SPS kB的速率吗?
你的意思是“它能增加每秒的SPS kB的速率吗?”
我如何写和读数据到\从闪存?
请参考示例或手册
tnx
嗨roinovi,
请看一下SDK在peripheral_examples项目有一个如何使用SPI flash的例子,也有一些参考设计,如信标和智能标签都使用SPI flash。
由于MT_dialog