更改连接速率两种方法有何区别
TI员工,你好
我的ble设备与Android设备连接,希望连接成功后完成一些操作再更改连接速率,所以ble从设备中 DEFAULT_ENABLE_UPDATE_REQUEST 设成了 false。一开始根据TI的例子我用
GAPRole_SendUpdateParam( DESIRED_MIN_CONN_INTERVAL, DESIRED_MAX_CONN_INTERVAL, DESIRED_SLAVE_LATENCY, DESIRED_CONN_TIMEOUT, GAPROLE_TERMINATE_LINK);
这个函数来更改连接速率。但后来发现,从设备复位后先用
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 );
这4条语句设置好连接参数,然后在需要时用
uint8 parameter_update_request = true;
GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_REQ, sizeof( uint8 ), ¶meter_update_request);
这句语句也能更改连接速率。
想请教的是,这两种方法有何区别,哪种更好一点?谢谢!
有人知道吗?
没有区别,一样一样的
Adyanced,
GAPRole_SendUpdateParam 是立即生效的。
GAPRole_SetParameter 是有个timer在连接建立后过一段时间后自动发送请求的,说白了就是过了一段时间后代码里面自动调用GAPRole_SendUpdateParam 。