CH582F做蓝牙键盘,主机修改连接间隔后HID丢键问题

连接部分android设备后会收到

Update 1 - Int 0x9c - Latency 0

这时候连续发送键值,很大概率出现android设备只收到key down没有key up。这时候android设备会判断为长按会一直输入相同值。对比PC和手机发现都没有收到类似Update 1 - Int 0x9c - Latency 0。


代码里发送键值参考EVT如下:

hidEmuSendKbdReport(code);//key down
hidEmuSendKbdReport(0x00);//key up

后来研究发现EVT里定义最大连接是8

#define DEFAULT_DESIRED_MAX_CONN_INTERVAL    8

改为20后可以收到2次更新,第二次更新连接间隔后就正常了

Update 1 - Int 0x9c - Latency 0
Update 1 - Int 0xc - Latency 0

也就是连接间隔减小后就正常了,这里没想明白为什么连接间隔大了会导致主机收不到key up?

BLE广播间隔和连接间隔(CH573) - SweetTea_lllpc - 博客园 (cnblogs.com)

在初始化加上这段函数:

1.png



问题已解决,感谢~


只有登录才能回复,可以选择微信账号登录