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.

CC2540 ble 通讯问题:CC2540作为丛设备,android手机作为主设备。现在有约4k字节的信息由cc2540向手机发送,是手机读一次,cc2540返回一些数据,手机再读,CC2540再返数据好?还是手机读一次,cc2540自动分为多次返回数据好?

Other Parts Discussed in Thread: CC2540

如题,另外,每次发送的数据量,一般是多少个字节内为好?要考虑功耗和可靠性。如果手机主设备不读,CC2540是否不能返回数据?如果CC2540在发送数据时,蓝牙通讯已处于不连接状态了,咋办?

  • 读一次,自动分包多次发送

  • 怎么操作?我现在返回数据是在simpleProfile_ReadAttrCB函数中,如果要主动返回,需要如何操作?

  • 做过类似的数据集中上传的项目。建议采用通知形式,用GATT_Notification函数发送数据,这样在连接后从机自动向主机发送数据,不需要主设备读取。GATT_Notification函数中有个参数是连接handle,故在不连接的状态,从机不会向主机发送通知。不过建议你连接后,主机向从机发送一个指令(可以向某个characteristic赋值),表示主机端ready,从机接到指令后启用GATT_Notification发送数据。蓝牙协议规定每次字节数不能超过20个。

    可参考官方吞吐量程序http://processors.wiki.ti.com/index.php/CC2540_Data_Throughput