原來我使用adv_vendor例程開發(fā)mesh組網(wǎng)通信,現(xiàn)在想在這個基礎(chǔ)上增加手機app連接發(fā)送指令進行一些配置的功能;我在原基礎(chǔ)上增加了peripheral模塊,按官方例程修改后,使用ble調(diào)試助手可以搜到廣播信息,也可以連接,但是連接后一直讀取服務失敗導致又斷開,想問一下這怎么解決。
您好,給BLE協(xié)議棧分配了多大ram,如果分配過小會有連接異常,一般分配6K夠用了,嘗試將BLE_MEMHEAP_SIZE增大1K或2K。
你好,我把協(xié)議棧增加到8k,還是沒有什么變化。還有什么其他配置會影響嗎;看打印信息連接后一直沒有進入peripheralParamUpdateCB這個回調(diào)。
您好,移植BLE可以參考博客:藍牙m(xù)esh組網(wǎng)實踐(在mesh工程中添加BLE功能) - JayWell - 博客園 (cnblogs.com)
針對沒有進入peripheralParamUpdateCB這個回調(diào)的問題,檢查移植代碼中有沒有注冊回調(diào)。
好的,謝謝?,F(xiàn)在又遇到了一個問題,我業(yè)務代碼中啟用了一個定時器中斷,頻率是1k;中斷里執(zhí)行的時間大概在0.05ms;但是現(xiàn)在發(fā)現(xiàn)開啟中斷的時候,出現(xiàn)了手機連上大概一二十秒后就會斷連,斷連原因是超時;我在關(guān)閉中斷或者把中斷中的代碼屏蔽掉后就不會出現(xiàn)斷連了。我把從設備延遲改大后,測試未出現(xiàn)斷連;想問一下我中斷運行時間是遠小于連接間隔的啊,為什么還是會對ble連接產(chǎn)生影響呢。
中斷服務函數(shù)中一般不建議太多的操作,如果是調(diào)用其他函數(shù)需要加上highcode。
將連接間隔拉大一些,從設備延時也可以開啟。