參考fr801xh錯(cuò)誤碼參考_第1頁(yè)
參考fr801xh錯(cuò)誤碼參考_第2頁(yè)
參考fr801xh錯(cuò)誤碼參考_第3頁(yè)
參考fr801xh錯(cuò)誤碼參考_第4頁(yè)
參考fr801xh錯(cuò)誤碼參考_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

綜801xHSDKBLE5.0BLESIGMesh多個(gè)中間非搶占式操作系保保 睡眠和關(guān)機(jī)睡眠調(diào)用接多種外設(shè)驅(qū)調(diào)試函數(shù)和錯(cuò)誤處系統(tǒng)常用輔助函下面章節(jié)將逐一介紹各組件定義的錯(cuò)誤碼所代表的含義錯(cuò)誤碼BLE5.0協(xié)議在調(diào)用頭文件”gap_api.h”和”gatt_api.h”lib庫(kù)底層的運(yùn)行日志,日志Fr801xH協(xié)議棧lib庫(kù)運(yùn)行日=OP_ID是操作碼,ERR_CODE是執(zhí)行結(jié)果代碼常見的OP_ID如下表操作名含1協(xié)議棧重3協(xié)議棧配…底層創(chuàng)建一個(gè)廣播動(dòng)作底層創(chuàng)建一個(gè)掃描動(dòng)作底層創(chuàng)建一個(gè)主動(dòng)連接動(dòng)作底層創(chuàng)建一個(gè)周期性同步動(dòng)作底層啟動(dòng)一個(gè)動(dòng)底層停止一個(gè)動(dòng)底層停止所有動(dòng)底層刪除一個(gè)動(dòng)底層設(shè)置廣播動(dòng)作的adv底層設(shè)置廣播動(dòng)作的advrsp底層設(shè)置周期性廣播的advERR_CODEOP_IDERR_CODEcomponents\ble\include\ble_hl_error.h頭文件名含執(zhí)行成功,無(wú)錯(cuò)名含1在profile處理回調(diào)函數(shù),動(dòng)作完成分支,如果動(dòng)作為GATT_OP_PEER_SVC_REGISTERED,打印掃描到UUID對(duì)應(yīng)的handler號(hào)是否為非0,如果為0,表UUIDhandlerUUID對(duì)應(yīng)的屬示例代碼如casecase{{uint16_tatt_handles[2]; //只定義了2個(gè)感 //拷貝上傳的handler號(hào)show_reg((uint8_t*)att_handles,4,1); //打印UUID對(duì)應(yīng)的handler號(hào)}}2檢查_att_tableUUID,是否存在于對(duì)端的服務(wù)中名含GATT的讀操作1檢查進(jìn)行讀操作的UUID,在對(duì)端服務(wù)中,有沒有定義讀操作的權(quán)限名含GATT的寫操作 檢查進(jìn)行讀操作的UUID,在對(duì)端服務(wù)中,有沒有定義寫操作的權(quán)限名含GAP操作輸入?yún)?shù)1GAP操作對(duì)OP_ID,找到執(zhí)行該操作的API函數(shù),檢查輸入的參數(shù)是否合名含GAP操作因?yàn)閰f(xié)議棧配置導(dǎo)致不支名含GAP操作不被允1GAPGAPGAP操作執(zhí)名含GAP操作被err_code。名含GAP操作超時(shí)導(dǎo)致被終1找到該操作OP_ID,查找調(diào)用該操作的gapAPI函數(shù),是否有設(shè)置執(zhí)行時(shí)間,比如啟動(dòng)廣播的函數(shù)gap_start_advertising(uint8_t)輸入?yún)?shù)即為動(dòng)作執(zhí)行時(shí)間,如果非0,廣播時(shí)間到后,廣播動(dòng)作會(huì)終止,然后上ERR_CODE名含GAP操作被終止因?yàn)橐呀?jīng)斷1該ERR_CODE不需要做進(jìn)一步的糾錯(cuò)動(dòng)作,這是底層通知某個(gè)GAP或GATT操作因?yàn)閿嚅_而被提前終止,比如調(diào)用gap_conn_param_update(…)API進(jìn)行參數(shù)更新時(shí),如果在參數(shù)更新動(dòng)作完成之前,斷開,底層會(huì)打印該ERR_CODE的日志。名含GAP操作被對(duì)1查找產(chǎn)生該ERR_CODE的OP_ID,找到調(diào)用該操作的API函數(shù),某些操作被后會(huì)上傳到GAP或GATT的回示casecaseif(cs->status== &&cs->status!=GAP_ERR_INVALID_PARAM)該示例中,如果參數(shù)更新失敗,原因是GAP_ERR_REJECTED或GAP_ERR_INVALID_PARAM,則停止更新參數(shù)名含Advdataadvresponsedata1檢查調(diào)用voidgap_set_advertising_data(uint8_t*p_adv_data,uint8_tadv_data_len);和voidgap_set_advertising_rsp_data(uint8_t*p_rsp_data,uint8_trsp_data_len);設(shè)置廣播數(shù)據(jù)和廣播回復(fù)數(shù)據(jù)時(shí),數(shù)據(jù)格針對(duì)經(jīng)典廣播,adv0x1F3Advrspdata0x1F名含對(duì)端不支持綁定操作1ERR_CODE名含本機(jī)不支持某個(gè)綁定的子動(dòng)作1ERR_CODE名含因?yàn)槟硞€(gè)原因綁定動(dòng)作失敗1ERR_CODE表明,因?yàn)槟硞€(gè)原因綁定動(dòng)作失敗,進(jìn)一步的處理,請(qǐng)咨詢FAE人員名含針對(duì)同一個(gè)設(shè)備的已經(jīng)存在了1該ERR_CODE表明,應(yīng)用層發(fā)起主動(dòng)連接動(dòng)作去連一個(gè)已經(jīng)建立的對(duì)端設(shè)備。應(yīng)用層需要檢查做主機(jī)時(shí)主動(dòng)連接的函數(shù)是否在連接一個(gè)已經(jīng)上的設(shè)備。設(shè)備由mac地址區(qū)分。名含因?yàn)閮?nèi)存不足,導(dǎo)致主動(dòng)連接動(dòng)作失uint16_tos_get__heap_size(void)打印系統(tǒng)剩余的內(nèi)存大小,查看是否存在剩余內(nèi)存過(guò)小的問(wèn)題。名含發(fā)送到協(xié)議棧鏈路層的hci命令參數(shù)名含綁定終止因?yàn)殒溌穼硬辉试S進(jìn)行綁定操1該ERR_CODE表明,綁定操作結(jié)束,因?yàn)楸镜卦O(shè)備鏈路層配置不支持Fr801xHSDK框架下應(yīng)用程序會(huì)遇到各種斷開的原因,在設(shè)置了GAP回調(diào)函數(shù)后,斷開的錯(cuò)誤碼信息會(huì)被上傳。該錯(cuò)誤碼是單獨(dú)編碼,不屬于上面介紹的GAP和GATT的錯(cuò)誤碼集合。示例代casecase{co_printf("Link[%d]disconnect,reason:0x%02X\r\n",p_event-,p_event-}打印的log信息示例:Link[0],disconnect,reason:0x08.其中Link[0]表示號(hào)為0的斷開,斷開的錯(cuò)誤碼下面分別介紹常見的斷開錯(cuò)誤碼以及對(duì)應(yīng)的處理措施名含因?yàn)槲帐殖瑫r(shí)導(dǎo)致斷開1該ERR_CODE表明,因?yàn)槲帐诌B續(xù)失敗,達(dá)到超時(shí)斷開時(shí)間,底層主動(dòng)斷開。握手失敗的可能原因是:a參數(shù)設(shè)置的間隔時(shí)間太長(zhǎng),超過(guò)1秒,應(yīng)用層軟件通過(guò)參數(shù)更新API減少握手間隔。b硬件天線的頻偏與匹配參數(shù)沒有調(diào)試過(guò),需要咨詢FAE人員如何調(diào)試這兩個(gè)天線性能參數(shù)。cSDK版本太舊,射頻參數(shù)沒有更新。需要從github上Fr801xHSDK名含CO_ERROR被對(duì)端設(shè)備斷開1該ERR_CODE表明,某個(gè)被對(duì)端設(shè)備主動(dòng)斷開名含CO_ERROR被對(duì)本地設(shè)備自己主動(dòng)斷開1該ERR_CODE表明,某個(gè)被本地設(shè)備主動(dòng)斷開,在應(yīng)用層調(diào)用了voidgap_disconnect_req(uint8_tconidx)斷開某個(gè)后,會(huì)打印該log信息名含名含內(nèi)沒有收到對(duì)端的ack1該ERR_CODE表明,對(duì)端在規(guī)定時(shí)間40s內(nèi)沒有回復(fù)控制包,或者超時(shí)時(shí)間沒有ack本動(dòng)斷開的名含收到更新參數(shù)的時(shí)發(fā)現(xiàn)參數(shù)更新時(shí)刻已經(jīng)過(guò)了,主動(dòng)斷開步更新,主動(dòng)斷開。解決辦法參考ERR_CODE:0x08的解決辦法。對(duì)端申請(qǐng)參數(shù)更新的請(qǐng)對(duì)端申請(qǐng)phy更新的對(duì)端申請(qǐng)channel_map更新的請(qǐng)名含執(zhí)行加密操作時(shí),發(fā)現(xiàn)不對(duì),主動(dòng)斷 該ERR_CODE表明,對(duì)進(jìn)行加密操作時(shí),對(duì)端的不對(duì),底層主動(dòng)斷開。查密刪息ah做為從機(jī)時(shí),有沒有調(diào)用綁定管理的綁定信息刪除函數(shù),刪掉綁定信息。有沒有更改綁定信息 的始地址名含CO_ERROR主動(dòng)斷開1該ERR_CODE表明,在建立時(shí),未收到對(duì)端設(shè)備第一包的數(shù)據(jù),導(dǎo)致沒有建立起來(lái)。此種問(wèn)題很可能跟天線射頻性能有關(guān)系,參考ERR_CODE:0x08的處理辦法,調(diào)試天線頻偏和匹配參數(shù),同時(shí)更新SDK到版profile應(yīng)用層調(diào)用proifile 創(chuàng)建函數(shù)uint8_t gatt_add_(gatt__t*p_)后,返回值定義如下返回名含1Profile8個(gè),Profile8Profile返回名含該組件在調(diào)用任務(wù)創(chuàng)建函數(shù)uint16_tos_task_create(os_task_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論