您的位置:首页 > 其它

CC2640 一个连接事件发送10个数据包

2017-03-07 16:11 218 查看
连接间隔设置:

#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     64 //80ms
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     80 //100ms


发送数据事件时钟间隔

// How often to perform periodic event (in msec)
#define SBP_PERIODIC_EVT_PERIOD               100


修改

#define MAX_NUM_PDU 10 // default is 5  iOS support <7


发送数据处理任务。每一个事件连续发送10个20字节数据。

static void EcgBLEPeripheral_performPeriodicTask(void)
{
#ifndef FEATURE_OAD_ONCHIP
bStatus_t ret=SUCCESS;
uint8_t i;
uint8_t reSendTimes=0;
valueData[0]=(serialNumber>>8)&0xFF;
valueData[1]=serialNumber&0xFF;
for(i=0;i<10;i++){
valueData[2]=(uint8_t)i;
EcgProfile_SetParameter(ECGPROFILE_CHARData, ECGPROFILE_CHARData_LEN,
valueData);
}
if(serialNumber==0xFFFF)
serialNumber=0;
else
serialNumber++;
#endif //!FEATURE_OAD_ONCHIP
}


速率计算

100ms interval  :  5*20*10=1Kbyte/s
50ms interval   :  5*20*20=2Kbyte/s


iOS连接参数限制:

Interval Max * (Slave Latency + 1) ≤ 2 seconds
Interval Min ≥ 20 ms
Interval Min + 20 ms ≤ Interval Max
Slave Latency ≤ 4
connSupervisionTimeout ≤ 6 seconds
Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout


参考链接 https://developer.apple.com/library/content/qa/qa1931/_index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CC2640 BLE
相关文章推荐