微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540主机和CC2540从机建立连接后,4s内通过0xfff1主机发给从机的数据会丢失?

CC2540主机和CC2540从机建立连接后,4s内通过0xfff1主机发给从机的数据会丢失?

时间:10-02 整理:3721RD 点击:

目前这个问题我是让主机4s后再发数据给从机,绕过了问题,代码如下。

我想知道可以让前几秒的数据不丢失吗?修改哪里可以达到这个目的

attWriteReq_t req;
if(g_poll_cnt>(5*5))//连上5s后再往下转发数据 4s属于临界点(太早向下发的数据会丢掉)
{
req.handle = simpleBLECharHdl;
req.len = 1;
req.value[0] = g_hid_ecg_cmd_buf[g_prd_hid_ecg_cmd_buf++%sizeof(g_hid_ecg_cmd_buf)];
req.sig = 0;
req.cmd = 0;
GATT_WriteCharValue( simpleBLEConnHandle, &req, simpleBLETaskId );//转发命令给从机

}

好像大多手机很短时间向下发数据不会丢失,部分手机则和我的cc2540主机类似,是不是连接之初刷新参数等过程时间是不可控的,得等它所有过程完成后才可以由主机到从机稳定写0xfff1的值

建立连接时间跟实际应用有关,比如说,你广播间隔设置多少?调高一下广播频率试试

应该是我的主机程序哪个地方写得有问题,刚才用CDC的USB Dongle试了一下,连上后是可以马上发数成功的

是simpleBLECharHdl的值大约要4s才能返回正确的句柄0x25,如果强制它为0x25就可以快速向下发数而不丢失了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top