微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 更改连接速率两种方法有何区别

更改连接速率两种方法有何区别

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

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 ), &parameter_update_request);

这句语句也能更改连接速率。

想请教的是,这两种方法有何区别,哪种更好一点?谢谢!

有人知道吗?

没有区别,一样一样的

Adyanced,

GAPRole_SendUpdateParam 是立即生效的。

GAPRole_SetParameter 是有个timer在连接建立后过一段时间后自动发送请求的,说白了就是过了一段时间后代码里面自动调用GAPRole_SendUpdateParam 。

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

网站地图

Top