This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2650:有关 cc2650的查询

Guru**** 2539500 points
Other Parts Discussed in Thread: CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/995223/cc2650-inquiry-regarding-cc2650

器件型号:CC2650

大家好、

我们有一位客户询问 cc2650。 以下是客户的询问:

 我尝试通过 BLE 通知向移动设备发送一个大数字(比如100)整数值。 我在 这里使用项目0作为参考。  它基本上是一个用于循环调用 set_prameter 函数100次的函数。  因此、我面临的问题是、我最多只能发送10个值。 如果我尝试发送10个以上的值、器件会卡住、终端器件甚至不会接收到单个值。

我的应用程序的目的是通过 BLE 向移动应用发送一系列值。 我使用 Project Zero 作为参考、使用 msp432p4111 + c2650作为硬件。  

代码:
int limit =100; 对于(i = 0;i < limit;i++){
    TEST =(char) I;
    错误= DataService_SetParameter (DS_STRING_ID、2、&test);
    Display_print2 (displayOut、0、0、"error =%d\t data =%d"、error、i);}

我认为这是非常直接 的。 因此、基本上我刚刚编写了这个"for loop"函数、调用"DataService_SetParameter"函数100次。 这是 在 SDK 中提供的 ProjectZero_processDataServicesecccdCB 函 数中编写的、以便在从移动应用程序"订阅通知"时开始数据发送。  但事实证明,在移动端接收到的数据完全限制为静态数据(如挂起)。当我将 限制降低到10时,最多可以 获得6个通知。  
 我可以看到、循环运行良好、并显示"error return value (0x00)

我尝试在调用"DataService_SetParameter"之间延迟、但它也带来了相当荒谬的结果   
 这可能是什么原因?我有什么问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    首先、您是否考虑过使用稍大的特性以便能够同时传输更多数据?

    关于您的问题、您似乎达到了 BLE 堆栈可分配的最大内存。 您应该等待 BLE 堆栈发送数据、然后尝试添加更多数据。 如果您有兴趣、您可能需要查看 through_example。 此示例展示了如何最大程度地提高吞吐量、可能不会100%适用于您的特定情况。

    如果您需要其他帮助、请告诉我、

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Clement、

    我的客户更新了问题、如文档 attached.e2e.ti.com/.../ti-question.docx 中所示

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    请查看我向您提供的示例。

    您的客户实施的解决方案不正确。 数据服务回调(例如 ProjectZero_processDataServicesccdCB)不应包含阻塞代码或长段代码。 我们通常建议使用回调来发布事件或消息、然后在任务上下文中执行更长的代码执行。

    此致、