經(jīng)過測試,CH582M 在主機(jī)(Central)和從機(jī)(Peripheral)例程,當(dāng)距離較遠(yuǎn)時(shí),斷開重連后有時(shí)無法通信,概率為10次有個(gè)2次左右,信號強(qiáng)時(shí),不容易發(fā)生。 程序應(yīng)該有bug。
第二個(gè)問題是連接后有個(gè)2秒左右的延時(shí)才能通信,好像改某個(gè)參數(shù)可以縮短這個(gè)時(shí)間,這個(gè)參數(shù)是哪個(gè)參數(shù),是主機(jī)還是從機(jī)文件里面改的。
1.重連后主機(jī)的打印是怎樣的,進(jìn)行了哪些流程,默認(rèn)主機(jī)例程在報(bào)連接后會(huì)去發(fā)現(xiàn)從機(jī)的服務(wù),
2.2s才能通信是主機(jī)發(fā)現(xiàn)服務(wù)的過程,
// Default read or write timer delay in 0.625ms
#define DEFAULT_READ_OR_WRITE_DELAY? ? ? ? ?1600
// Default write CCCD delay in 0.625ms
#define DEFAULT_WRITE_CCCD_DELAY? ? ? ? ? ? 1600
在主從例程中,當(dāng)信號強(qiáng)度RSSI小于-90dbm,重連時(shí),比較容易出現(xiàn)打印已連接但無法通信,主機(jī)只打印rssi強(qiáng)度。如果正常主機(jī)還會(huì)打印接收到的數(shù)據(jù) 0x88。
可以參考下主機(jī)工作流程的博客,在主機(jī)枚舉服務(wù)時(shí)加點(diǎn)打印,看看搜索UUID的句柄調(diào)用的函數(shù)失敗了,還是流程就沒走下去,
好的 謝謝