如何把CC2541的连接周期改大一点?

2019-07-18 14:55发布

想把CC2541的连接周期改大一点,可是修改DEFAULT_DESIRED_MAX_CONN_INTERVAL那几个参数,怎么改都没效果,查了论坛说要增加 函数GAPRole_SendUpdateParam(),我把它放在初始化GAPRole_SetParameter后,如下:

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(DEFAULT_DESIRED_MIN_CONN_INTERVAL,DEFAULT_DESIRED_MAX_CONN_INTERVAL,
DEFAULT_DESIRED_SLAVE_LATENCY,DEFAULT_DESIRED_CONN_TIMEOUT,1);

我也尝试加在状态变化回调函数里GAPROLE_CONNECTED后,也没有效果,请问各位,这个函数怎么用?

我是用IOS7.1测试的,连接周期一直是30ms,能否帮忙解答下,谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
南风一号
1楼-- · 2019-07-18 16:22
// Whether to enable automatic parameter update request when a connection is formed
#define DEFAULT_ENABLE_UPDATE_REQUEST         TRUE

uint8 enable_update_request = DEFAULT_ENABLE_UPDATE_REQUEST;

GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request );

这样做试试,机制是 允许从机向主机发送参数更新请求,从机端接到更新请求会允许,这个方法是SimplePeripheral工程里用的,我们是用这种方法实现连接参数更改的。
风尚男人
2楼-- · 2019-07-18 21:36
设置这两个参数,实测可行。

GAP_SetParamValue( TGAP_CONN_EST_INT_MIN, 400 );//设置连接最小时间间隔 400*1.25ms=0.5s
GAP_SetParamValue( TGAP_CONN_EST_INT_MAX, 800 );//设置连接最大时间间隔 400*1.25ms=1s

一周热门 更多>