ZHCACY9 August 2023 CC2564C
Inquiry 命令負(fù)責(zé)執(zhí)行一般查詢以發(fā)現(xiàn)藍(lán)牙設(shè)備。此命令要求在運(yùn)行之前存在有效的藍(lán)牙協(xié)議棧 ID。如果調(diào)用成功,此命令將返回零;如果執(zhí)行期間發(fā)生錯(cuò)誤,此命令將返回負(fù)值。查詢會(huì)持續(xù) 10 秒 — 除非在該時(shí)間限制之前找到 20 個(gè)設(shè)備 (MAX_INQUIRY_RESULTS)。
使用此命令時(shí)不需要包含參數(shù)。參數(shù)對(duì)查詢的結(jié)果沒有影響。
GAP_Perform_Inquiry(BluetoothStackID, itGeneralInquiry, 0, 0, 10, MAX_INQUIRY_RESULTS, GAP_Event_Callback, (unsigned long) NULL)
int BTPSAPI GAP_Perform_Inquiry(unsigned int BluetoothStackID, GAP_Inquiry_Type_t GAP_Inquiry_Type, unsigned int MinimumPeriodLength, unsigned intMaximumPeriodLength, unsigned int InquiryLength, unsigned int MaximumResponses, GAP_Event_Callback_t GAP_Event_Callback, unsigned long CallbackParameter)
提供此函數(shù)是為了能夠啟動(dòng)查詢掃描過程。此函數(shù)的第一個(gè)參數(shù)是要執(zhí)行查詢的藍(lán)牙設(shè)備的藍(lán)牙協(xié)議棧。第二個(gè)參數(shù)是要執(zhí)行的查詢類型。第三個(gè)參數(shù)是最小周期長度,第四個(gè)參數(shù)是最大周期長度,以秒為單位(僅在執(zhí)行定期查詢的情況下有效)。第五個(gè)參數(shù)是執(zhí)行查詢的時(shí)間長度,以秒為單位指定。第六個(gè)參數(shù)是要等待的響應(yīng)數(shù)。最后兩個(gè)參數(shù)表示在完成指定查詢后要調(diào)用的回調(diào)函數(shù)(和參數(shù))。如果成功,此函數(shù)返回零;如果無法執(zhí)行查詢,則返回負(fù)的錯(cuò)誤代碼。在任何給定時(shí)間只能執(zhí)行一次查詢。如果正在進(jìn)行未完成的查詢,則調(diào)用此函數(shù)將會(huì)失敗。調(diào)用方可以調(diào)用 GAP_Cancel_Inquiry() 函數(shù)來取消當(dāng)前正在執(zhí)行的查詢過程。
最小和最大查詢參數(shù)是可選參數(shù),如果指定,則表示最小和最大定期查詢周期。如果使用簡單查詢過程(非定期),則被調(diào)用方必須將這兩個(gè)值均設(shè)置為零。如果指定了這兩個(gè)參數(shù),則必須滿足以下條件:
MaximumPeriodLength > MinimumPeriodLength > InquiryLength