TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2541 动态修改更新连接参数

为什么  CC2541 动态修改连接参数与ios传输数据需要20S-25S后速度才会变快?与安卓s传输数据使用索尼的可以在15S-20S后速度会变快,但是使用三星,小米,华为,中兴的机型必须要断开重新连接传输的速度才会变快?

Barbara Wu:

你可以在代码里面主动去update connection parameter 这样就不用等主机这边调整连接参数了

junpeng xie:

回复 Barbara Wu:

非常感谢您的回答,但是我在代码里面每次更新连接参数都有加这个代码,是否是我这样加有问题?

GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request ); GAPRole_SetParameter( GAPROLE_MIN_CONN_INTERVAL, sizeof( uint16 ), &desired_min_interval ); GAPRole_SetParameter( GAPROLE_MAX_CONN_INTERVAL, sizeof( uint16 ), &desired_max_interval ); GAPRole_SetParameter( GAPROLE_SLAVE_LATENCY, sizeof( uint16 ), &desired_slave_latency ); GAPRole_SetParameter( GAPROLE_TIMEOUT_MULTIPLIER, sizeof( uint16 ), &desired_conn_timeout );

GAPRole_SendUpdateParam(desired_min_interval,desired_max_interval, desired_slave_latency,desired_conn_timeout,1);

junpeng xie:

GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request ); GAPRole_SetParameter( GAPROLE_MIN_CONN_INTERVAL, sizeof( uint16 ), &desired_min_interval ); GAPRole_SetParameter( GAPROLE_MAX_CONN_INTERVAL, sizeof( uint16 ), &desired_max_interval ); GAPRole_SetParameter( GAPROLE_SLAVE_LATENCY, sizeof( uint16 ), &desired_slave_latency ); GAPRole_SetParameter( GAPROLE_TIMEOUT_MULTIPLIER, sizeof( uint16 ), &desired_conn_timeout );

GAPRole_SendUpdateParam(desired_min_interval,desired_max_interval, desired_slave_latency,desired_conn_timeout,1);

我在每次更新连接参数的时候都有加以上这段代码,是否我这样加有问题?

Barbara Wu:

回复 junpeng xie:

GAPROLE_PARAM_UPDATE_ENABLE 这个打开是在建立连接之后 就会自动申请参数更新

GAPRole_SendUpdateParam(desired_min_interval,desired_max_interval,desired_slave_latency,desired_conn_timeout,1); 这个只要代码里面调用了,就会发送一条请求参数更新的命令

以下这些是设置连接参数,理论上如果没有修改的话,第二次就可以不用调用了

GAPRole_SetParameter( GAPROLE_MIN_CONN_INTERVAL, sizeof( uint16 ), &desired_min_interval );GAPRole_SetParameter( GAPROLE_MAX_CONN_INTERVAL, sizeof( uint16 ), &desired_max_interval );GAPRole_SetParameter( GAPROLE_SLAVE_LATENCY, sizeof( uint16 ), &desired_slave_latency );GAPRole_SetParameter( GAPROLE_TIMEOUT_MULTIPLIER, sizeof( uint16 ), &desired_conn_timeout ); 

如果这些都写了 要看是在什么地方调用的 然后抓包看看连接参数是否更新成功了

junpeng xie:

回复 Barbara Wu:

非常感谢您的回答,这些代码设置应该没有错,因为我使用ios的是可以变换成功只是速度慢了点,但是我是使用三星S4 android系统4.4.2版本,却无法变换成功,这个是S4的抓包,麻烦帮忙看下,谢谢!

Barbara Wu:

回复 junpeng xie:

RSP是0x0000应该是成功了呢

看看你前面的参数是否是正确的?看起来intervalMin值蛮大的

junpeng xie:

回复 Barbara Wu:

  这个是我重新抓取的包,麻烦帮忙帮我在看下,非常感谢!

cedar_xuesong:

回复 Barbara Wu:

哈哈,膜拜WBJ

yi zhang23:

我用iOS测试连接参数变更,连接间隔从30ms更新到400ms的话,1秒内就会更新成功。但从400ms更新到30ms的话,通常需要10-20秒才能成功,这个有办法优化吗?

赞(0)
未经允许不得转载:TI中文支持网 » cc2541 动态修改更新连接参数
分享到: 更多 (0)