CH582M蓝牙主机 Write success 延迟

请教,使用demo中的主机和从机程序做使用:

有时候上电主机端打印发现有信号打印,但无Notify数据,直到主机出现Write success(很久或重启电源后才行) 后可正常接收Notify数据。


Discovering...


Device 1 - Addr 54 d1 9b d1 d8 ea 


Device not found...


Discovering...


Device 1 - Addr 54 d1 9b d1 d8 ea 


Device not found...


Discovering...


Device 1 - Addr 0 0 0 0 0 0 


Device 2 - Addr 54 d1 9b d1 d8 ea 


Device found...


Connecting...


Connected...


PHY Update 0...


RSSI : -18 dB 


PHY Update...


RSSI : -19 dB 


Found Profile Service handle : 21 ~ ffff 


Found Characteristic 1 handle : 23 


RSSI : -14 dB 


PHY Update...


Found client characteristic configuration handle : 2d 

*******这里循环******

RSSI : -38 dB 


RSSI : -39 dB 


RSSI : -37 dB 


RSSI : -50 dB 


RSSI : -50 dB 


RSSI : -48 dB 


RSSI : -53 dB 


RSSI : -49 dB 


RSSI : -42 dB 


RSSI : -42 dB 


RSSI : -42 dB 


RSSI : -40 dB 


RSSI : -38 dB 


RSSI : -47 dB 


RSSI : -39 dB 


RSSI : -40 dB 


RSSI : -40 dB 


RSSI : -41 dB 


RSSI : -46 dB 


RSSI : -44 dB 


RSSI : -40 dB 


RSSI : -47 dB 


RSSI : -43 dB 

Write success *****这里有后就可以正常接收


Receive source noti:


主机和从机建立连接后,从机默认是给主机发送数据的,默认是0x88,需要等到各种服务等操作枚举完成后发送。可以检查一下是不是最新版本的EVT包,一般使用是没有问题的。


请问下我该从那些方面排查这个问题,或者调整蓝牙的参数改善这种情况?

历程本身可以正常使用,后期使用时TMOS添加了一些自己的任务(有任务耗时可能会达到数十ms),将原Notify时间改小了

使用中还发现reason可能会报 8 3e 错误码。

有调整过连接间隔和连接超时尝试。


tmos_start_task(centralTaskId, START_WRITE_CCCD_EVT, DEFAULT_WRITE_CCCD_DELAY);这个任务是主机开启从机通知功能的任务,任务延时是1s,理论上在Found client characteristic configuration handle打印后一秒执行,我们默认例程打印rssi值是1.5秒一次,从从你打印现象来看,这个时间是有所调整的,另外可以看看DEFAULT_WRITE_CCCD_DELAY时间是否被加长,

任务处理时间不宜过长,主从机在每个连接间隔都会发送空包确保通信正常,如若处理自己的任务时间过长,会导致超时断开。


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