利用燒錄器燒錄了幾個貼片回來的板子,程序都是協(xié)議棧分離后的,但是某個板子藍(lán)牙連接上啥也沒操作就斷開了,打印出來看顯示超時,連接上唯一的操作就是不斷協(xié)商藍(lán)牙連接參數(shù)到我設(shè)定的范圍。難道是這個引起的嗎?但是其余板子沒有這種情況
超時斷開是reason8.
出現(xiàn)超時斷開,可以檢查以下幾點(diǎn):
①高頻晶振使用32M,如使用從機(jī)則低頻晶振使用內(nèi)部的;
②先燒錄例程進(jìn)行測試即peripheral,查看是否斷連;
③查看是否沒有22uH電感但是開啟了DCDC的使能;
④檢查芯片的焊接,即芯片背面是否與硬件板共地良好(該點(diǎn)務(wù)必注意)。
針對你的情況,建議②④,即燒錄官方例程觀察日志是否在不同板子上表現(xiàn)一致。同時將芯片重新焊接,確保共地良好。
感謝您的建議。電感是有的,芯片也曾與良好的板子對調(diào)測試過,就是該芯片會出現(xiàn)這種問題。燒錄例程沒有斷連,最大的不同就是連接參數(shù)的宏不一樣,目前我測試了一下,發(fā)現(xiàn)lantency從設(shè)備延遲這個參數(shù)對斷開的影響極其巨大,連接間隔和連接超時的兩個參數(shù)保持一致的情況下,從設(shè)備延遲0能保持很久不斷,但是從設(shè)備延遲一旦設(shè)置了值,最終都會出現(xiàn)我說的這種情況。
需注意:
根據(jù)上面的信息燒錄例程不會出現(xiàn)問題,則檢查你的應(yīng)用代碼與例程的差異性。檢查連接間隔的配置是否合理,即參考BLE文件夾下面的手冊。
感謝您的回復(fù),但是這個基礎(chǔ)的情況我是知道和考慮到的,TIMEOUT超時時間例程起步就是100(1s),連接間隔范圍我設(shè)置最大是125ms,就按這個最大的算,然后從設(shè)備我基本都沒設(shè)置超過4,按4算吧,那有效連接間隔 = 125* 5 = 625ms,就算是例程的TIMEOUT也是大于這個時間的。而且實(shí)際的連接間隔我抓包看到是50ms左右,完全是滿足這個公式的吧。我一開始也提到過,這個情況在幾個板子中,只有這一個出現(xiàn)這個問題。所以問題點(diǎn)的根源應(yīng)該不在這里,但是這個配置會確實(shí)對芯片的斷開有影響。
你好,發(fā)送郵件至郵箱:lpc@wch.cn,該芯片寄過來我們看下。