如何修改Bluetooth link supervision timeout (基于CSR BC4/5)

在做scanner产品时,发现蓝牙与android设备断开连接时,android端大概需要20多秒才显示scanner断开连接,客户认为这个时间太长,需要修改成5秒。


与这个问题相关的技术关键词是“link supervision timeout”,当蓝牙为master设备时,可以修改这个timeout,与此同时,slave设备的“link supervision timeout”也会一同修改。

也就是说,只有设备为master时,才有权限修改“link supervision timeout”这个属性。


scanner产品用的是CSR BC4/5系列,查询相关的代码,可以查询到关键的库函数定义如下(lib\connection\connection.h)

/*!
	@brief This function is called to set the link supervision timeout.

	@param theAppTask The client task.
	@param sink The sink.
	@param timeout The timeout in 0.625ms units.
*/
void ConnectionSetLinkSupervisionTimeout(Sink sink, uint16 timeout);


根据调试经验,应该在BT建立连接之后,呼叫这个函数才有用处,代码示例如下,

/* set timeout to 1 second */
ConnectionSetLinkSupervisionTimeout(xxx.sink, 0x064c);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值