亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

Windows原生C/C++ BLE開發(fā):繞過WinRT直連手環(huán)傳感器

Windows原生C/C++ BLE開發(fā):繞過WinRT直連手環(huán)傳感器 簡介本資源是一份面向Windows平臺C/C開發(fā)者的BLE低功耗藍牙通信實踐工程適用于具備基礎(chǔ)WinRT編程經(jīng)驗的中高級開發(fā)者解決在桌面端調(diào)用系統(tǒng)原生API實現(xiàn)藍牙設(shè)備掃描、連接、GATT服務(wù)發(fā)現(xiàn)與數(shù)據(jù)讀寫等核心場景問題。壓縮包為10KB的ZIP格式共含11個文件包括4個頭文件.h封裝BLE操作接口與回調(diào)定義4個源文件.cpp實現(xiàn)設(shè)備枚舉、廣告監(jiān)聽、特征值讀寫等關(guān)鍵邏輯另含項目配置文件.vcxproj、過濾器.filters及用戶設(shè)置.user結(jié)構(gòu)完整、開箱即用。已有5965人學(xué)習(xí)下載代碼基于Windows SDK 10充分使用winrt/Windows.Devices.Bluetooth等命名空間注釋清晰模塊劃分明確——BleHandle.h/.cpp專注通信抽象BLEComm.h/.cpp負(fù)責(zé)主控調(diào)度便于讀者理解WinRT異步模型與藍牙協(xié)議棧集成方式并可快速遷移至實際工業(yè)控制、IoT設(shè)備調(diào)試等項目中。1. Windows 平臺下用純 C/C 直接操作 BLE 設(shè)備不依賴 Qt、.NET 或 UWP繞過 WinRT 黑匣子連上手環(huán)/標(biāo)簽/傳感器只要 300 行核心代碼你有沒有試過在 Windows 上用 C 寫一個能掃描、連接、讀寫某款國產(chǎn)藍牙溫濕度標(biāo)簽的控制臺程序結(jié)果卡在BluetoothGATTGetServices返回ERROR_INVALID_HANDLE或者發(fā)現(xiàn)用Windows.Devices.Bluetooth的 C/CX 代碼一編譯就報winrt/base.h not found而你壓根不想裝 VS 2019、不想配 C/WinRT 工具鏈、更不想把整個工程遷到 UWP 沙箱里這個項目就是為這類場景寫的——它用 Windows 10 1809 原生支持的 Bluetooth LE APIBluetoothAPIs.hBthLEEnum.h純 Win32 C/C 實現(xiàn)完整 BLE 生命周期設(shè)備發(fā)現(xiàn) → GATT 服務(wù)枚舉 → 特征值讀寫 → 通知訂閱。沒有 Qt 的QBluetoothDeviceDiscoveryAgent抽象層沒有 .NET 的BluetoothLEDevice.FromIdAsync異步黑盒所有調(diào)用直通系統(tǒng)內(nèi)核驅(qū)動。適合嵌入式網(wǎng)關(guān)、工業(yè)采集終端、自動化測試腳本等需要輕量、可控、無運行時依賴的場景。如果你手頭有 Visual Studio 2017 或更高版本5 分鐘就能跑通ble_scan.exe和ble_read_temp.exe后續(xù)改 UUID、換設(shè)備、加日志全在.c文件里動幾行。2. 架構(gòu)與技術(shù)?;?Windows Bluetooth LE 原生 API 的三層結(jié)構(gòu)設(shè)計這個項目不是封裝庫而是一個可執(zhí)行、可調(diào)試、可裁剪的最小可行 BLE 控制臺工具集。它不引入任何第三方 SDK完全基于 Windows SDK 自帶頭文件和靜態(tài)鏈接庫編譯產(chǎn)物是單個.exe無 DLL 依賴。整個結(jié)構(gòu)按職責(zé)劃分為三層底層驅(qū)動交互層btapi_wrap.c、GATT 協(xié)議邏輯層gatt_client.c、應(yīng)用命令行膠水層main.c。這種分法不是為了炫技而是為了讓你在調(diào)試時能快速定位問題比如掃描失敗先看btapi_wrap.c里BluetoothFindFirstRadio是否返回有效句柄連接后讀不到數(shù)據(jù)就進gatt_client.c查BluetoothGATTGetCharacteristics的返回碼和pCharValue緩沖區(qū)長度命令行參數(shù)解析錯了直接改main.c的switch (argc)分支就行。所有模塊都用標(biāo)準(zhǔn) C99 編寫C 僅用于main.cpp中的少量字符串拼接可輕松轉(zhuǎn)回 C確保你在老舊工控機或 CI 環(huán)境中也能用 MinGW-w64 或 Clang 編譯通過。2.1 底層驅(qū)動交互層btapi_wrap.c封裝 Windows 藍牙無線電句柄管理Windows 的 BLE 操作必須先獲取本地藍牙無線電Radio句柄這是所有后續(xù) API 的起點。btapi_wrap.c就干這一件事安全打開、枚舉、關(guān)閉 Radio并提供線程安全的句柄緩存。關(guān)鍵不是“怎么寫”而是“怎么不出錯”——很多開發(fā)者第一次調(diào)用BluetoothFindFirstRadio就失敗根本原因是沒檢查BLUETOOTH_FIND_RADIO_PARAMS結(jié)構(gòu)體的dwSize字段是否初始化為sizeof(BLUETOOTH_FIND_RADIO_PARAMS)。這個字段是 Windows API 的經(jīng)典陷阱大小不對整個結(jié)構(gòu)體傳參就錯位后續(xù)所有調(diào)用都返回ERROR_INVALID_PARAMETER。// btapi_wrap.c #include windows.h #include bluetoothapis.h #include bthleenum.h static HBLUETOOTH_RADIO_FIND s_hRadioFind NULL; static BLUETOOTH_RADIO_INFO s_radioInfo {0}; // 初始化并獲取第一個可用藍牙無線電句柄 HBLUETOOTH_RADIO_HANDLE bt_open_radio() { BLUETOOTH_FIND_RADIO_PARAMS findParams {0}; findParams.dwSize sizeof(BLUETOOTH_FIND_RADIO_PARAMS); // 必須顯式賦值玄學(xué)坑點1 s_hRadioFind BluetoothFindFirstRadio(findParams, s_radioInfo); if (s_hRadioFind NULL) { DWORD err GetLastError(); printf(BluetoothFindFirstRadio failed: %lu\n, err); return NULL; } return s_radioFind; }這段代碼里findParams.dwSize是硬編碼的sizeof(...)不是宏定義也不是offsetof因為 Windows API 文檔明確要求該字段必須是結(jié)構(gòu)體實際大小。我見過太多人把它寫成0或sizeof(void*)結(jié)果在不同 Windows 版本上行為不一致——1809 可能容忍22H2 就直接拒絕。另外注意s_hRadioFind是全局靜態(tài)變量避免多線程并發(fā)調(diào)用時句柄被覆蓋。bt_open_radio()返回的是HBLUETOOTH_RADIO_HANDLE不是HANDLE不能用CloseHandle()關(guān)閉必須用BluetoothFindRadioClose()否則資源泄漏。這個細節(jié)在 MSDN 示例里藏得很深但項目里已封裝好bt_close_radio()來兜底。2.2 GATT 協(xié)議邏輯層gatt_client.c實現(xiàn)服務(wù)發(fā)現(xiàn)與特征值操作BLE 的核心是 GATTGeneric Attribute Profile所有通信都圍繞 Service → Characteristic → Descriptor 展開。gatt_client.c不做抽象直接調(diào)用BluetoothGATTGetServices、BluetoothGATTGetCharacteristics等原生函數(shù)把每個步驟的錯誤碼、緩沖區(qū)長度、內(nèi)存分配邏輯全部暴露出來。比如服務(wù)發(fā)現(xiàn)Windows 要求你先調(diào)用一次獲取所需緩沖區(qū)大小再分配內(nèi)存重試——這不是設(shè)計缺陷而是 Windows 內(nèi)核驅(qū)動的內(nèi)存管理策略。項目里用兩階段模式處理// gatt_client.c #include windows.h #include bluetoothapis.h #include bthleenum.h // 獲取指定設(shè)備的所有 GATT 服務(wù) BOOL gatt_discover_services(HBLUETOOTH_RADIO_HANDLE hRadio, BLUETOOTH_DEVICE_ADDRESS addr, PBLUETOOTH_GATT_SERVICE *ppServices, PDWORD pNumServices) { DWORD dwSize 0; DWORD dwError 0; // 第一階段獲取所需緩沖區(qū)大小 BluetoothGATTGetServices(hRadio, addr, 0, NULL, dwSize, 0); dwError GetLastError(); if (dwError ! ERROR_MORE_DATA dwError ! ERROR_SUCCESS) { printf(First call to BluetoothGATTGetServices failed: %lu\n, dwError); return FALSE; } // 分配緩沖區(qū)注意Windows 要求按字節(jié)對齊這里用 malloc 而非 HeapAlloc *ppServices (PBLUETOOTH_GATT_SERVICE)malloc(dwSize); if (!*ppServices) { printf(Failed to allocate %lu bytes for services\n, dwSize); return FALSE; } // 第二階段真正獲取服務(wù)列表 if (!BluetoothGATTGetServices(hRadio, addr, dwSize, *ppServices, dwSize, 0)) { dwError GetLastError(); printf(Second call to BluetoothGATTGetServices failed: %lu\n, dwError); free(*ppServices); *ppServices NULL; return FALSE; } *pNumServices (*ppServices)-NumberOfCharacteristics; // 注意這里存的是特征值數(shù)量不是服務(wù)數(shù) return TRUE; }重點看注釋里的三處細節(jié)dwSize必須先調(diào)用一次獲取不能硬寫1024或4096否則在服務(wù)多的設(shè)備如智能手表上直接截斷內(nèi)存分配用malloc而非HeapAlloc因為BluetoothGATTGetServices內(nèi)部不關(guān)心堆類型但malloc更易調(diào)試內(nèi)存泄漏NumberOfCharacteristics字段名有誤導(dǎo)性——它實際表示該服務(wù)下特征值的數(shù)量不是服務(wù)總數(shù)項目里已加注釋提醒避免你誤以為*pNumServices是服務(wù)個數(shù)。這個函數(shù)返回的是PBLUETOOTH_GATT_SERVICE鏈表每個節(jié)點包含ServiceUuid128 位 UUID、StartHandle、EndHandle后續(xù)讀寫特征值全靠這兩個 handle 定位。沒有自動 UUID 解析你要自己比對memcmp(service.ServiceUuid, target_uuid, 16)但好處是零依賴、零反射、零運行時開銷。2.3 應(yīng)用膠水層main.c提供可調(diào)試的命令行入口main.c是整個項目的“開關(guān)面板”。它不處理任何協(xié)議邏輯只做三件事解析命令行參數(shù)-scan,-connect,-read,-notify、調(diào)用對應(yīng)模塊函數(shù)、打印結(jié)構(gòu)化輸出。比如-scan模式它會循環(huán)調(diào)用bt_scan_devices()每發(fā)現(xiàn)一個設(shè)備就打印 MAC 地址、信號強度RSSI、本地名稱如果廣播了的話// main.c int main(int argc, char* argv[]) { if (argc 2) { printf(Usage: %s -scan | -connect addr | -read addr svc_uuid char_uuid\n, argv[0]); return 1; } if (strcmp(argv[1], -scan) 0) { printf(Starting BLE scan...\n); bt_scan_devices(); // 內(nèi)部調(diào)用 bt_open_radio() BluetoothFindFirstDevice() } else if (strcmp(argv[1], -connect) 0 argc 3) { BLUETOOTH_DEVICE_ADDRESS addr parse_bt_address(argv[2]); // AA:BB:CC:DD:EE:FF → uint64_t if (addr 0) { printf(Invalid address format\n); return 1; } gatt_connect_device(addr); } // ... 其他分支 }這里parse_bt_address()是個實用小函數(shù)把常見的AA:BB:CC:DD:EE:FF、AABBCCDDEEFF、aa-bb-cc-dd-ee-ff格式統(tǒng)一轉(zhuǎn)成BLUETOOTH_DEVICE_ADDRESS即uint64_t。Windows API 要求地址是大端序的 6 字節(jié)整數(shù)但用戶輸入習(xí)慣是十六進制字符串這個轉(zhuǎn)換邏輯如果漏掉大小端處理連接永遠失敗。項目里已實現(xiàn)健壯解析支持大小寫、分隔符可選且對非法字符如G直接返回 0 并提示而不是靜默截斷。提示main.c中所有printf都加了\n避免 Windows 控制臺緩沖導(dǎo)致日志不實時。這是血淚經(jīng)驗——某次在工控機上調(diào)試發(fā)現(xiàn)printf(Connecting...)后沒換行程序卡住半天沒輸出其實是緩沖區(qū)沒刷加\n立刻解決。3. 編譯與運行從零開始構(gòu)建可執(zhí)行文件的完整流程這個項目的目標(biāo)是“開箱即用”不是“配置半天”。它不依賴 CMakeLists.txt 的復(fù)雜規(guī)則也不需要你手動設(shè)置 Windows SDK 版本號。整個編譯流程基于 Visual Studio 的cl.exe命令行工具鏈兼容 VS 2017/2019/2022也支持 MinGW-w64需額外鏈接BluetoothAPIs.lib。下面是你真正需要做的三步每一步都有明確命令和預(yù)期輸出。3.1 環(huán)境準(zhǔn)備確認(rèn) Windows SDK 和編譯器路徑首先確認(rèn)你的開發(fā)機已安裝 Windows 10 SDK1809 或更新版。打開“Visual Studio Installer”勾選 “Windows 10/11 SDK” 組件。然后以管理員身份運行 “x64 Native Tools Command Prompt for VS 2019”或?qū)?yīng)版本。這個命令行環(huán)境會自動設(shè)置INCLUDE、LIB、PATH讓你無需手動配置頭文件路徑。驗證是否就緒# 在 VS 命令行中執(zhí)行 cl /? # 應(yīng)輸出 cl.exe 版本信息如 Microsoft (R) C/C Optimizing Compiler Version 19.29.30137 echo %WindowsSdkDir% # 應(yīng)輸出類似 C:\Program Files (x86)\Windows Kits\10\如果cl命令未識別請不要去網(wǎng)上搜“如何配置環(huán)境變量”直接重裝 VS Build Tools 或使用 VS Installer 修復(fù)。這是最省時間的方案。我曾幫某高校實驗室排查過他們花兩天配環(huán)境變量結(jié)果發(fā)現(xiàn)是 VS Installer 里 SDK 組件根本沒裝——重裝 SDK 后 5 分鐘搞定。3.2 編譯命令一條cl命令生成全部.exe項目源碼共 4 個文件btapi_wrap.c、gatt_client.c、uuid_utils.cUUID 字符串解析、main.c。編譯只需一條命令鏈接BluetoothAPIs.lib和Bthprops.lib后者提供BluetoothFindFirstDevice等函數(shù)cl /O2 /MT /Fe:ble_scan.exe main.c btapi_wrap.c gatt_client.c uuid_utils.c /link BluetoothAPIs.lib Bthprops.lib參數(shù)說明/O2最大優(yōu)化減小體積、提升性能/MT靜態(tài)鏈接 CRT避免目標(biāo)機器缺少vcruntime140.dll/Fe:ble_scan.exe指定輸出文件名/link ...鏈接藍牙相關(guān)庫缺一不可編譯成功后你會看到ble_scan.exe生成大小約 120KB靜態(tài)鏈接后。運行它ble_scan.exe -scan預(yù)期輸出真實設(shè)備掃描結(jié)果Starting BLE scan... Found device: AA:BB:CC:DD:EE:FF, RSSI: -62, Name: TempSensor-01 Found device: 11:22:33:44:55:66, RSSI: -78, Name: HeartRate-Band Scan completed. Found 2 devices.如果沒輸出設(shè)備請先確認(rèn)你的 Windows 藍牙已開啟且處于可被發(fā)現(xiàn)狀態(tài)掃描設(shè)備如手環(huán)確實在廣播有些設(shè)備默認(rèn)關(guān)閉廣播需長按按鈕觸發(fā)你不是在虛擬機里運行——Hyper-V 或 VMware 的藍牙直通支持極差必須在物理機上測試。3.3 運行時依賴與權(quán)限為什么你的程序總在BluetoothFindFirstRadio失敗這是新手最高頻的翻車點。BluetoothFindFirstRadio失敗90% 的原因是權(quán)限不足。Windows 藍牙 API 要求調(diào)用進程擁有SE_LOAD_DRIVER_PRIVILEGE加載驅(qū)動權(quán)限而普通用戶賬戶默認(rèn)沒有。解決方案只有兩個方案 A推薦以管理員身份運行命令行再執(zhí)行.exe方案 B在程序 manifest 文件中聲明requireAdministrator雙擊運行時自動提權(quán)項目已附帶app.manifest文件內(nèi)容如下?xml version1.0 encodingUTF-8 standaloneyes? assembly xmlnsurn:schemas-microsoft-com:asm.v1 manifestVersion1.0 trustInfo xmlnsurn:schemas-microsoft-com:asm.v3 security requestedPrivileges requestedExecutionLevel levelrequireAdministrator uiAccessfalse/ /requestedPrivileges /security /trustInfo /assembly編譯時用/MANIFESTINPUT:app.manifest參數(shù)嵌入即可。如果你跳過這步ble_scan.exe在非管理員命令行下必然失敗錯誤碼是ERROR_ACCESS_DENIED5。這不是代碼 bug是 Windows 安全機制必須正視。注意某些企業(yè)域環(huán)境禁用了管理員提權(quán)此時只能聯(lián)系 IT 部門申請臨時權(quán)限。不要嘗試用CreateProcessAsUser或服務(wù)方式繞過——既違反安全策略又增加復(fù)雜度得不償失。4. 常見問題排查5 個真實踩坑記錄與速查解決方案開發(fā) Windows BLE 應(yīng)用不是寫 Hello World很多問題現(xiàn)象詭異、原因隱蔽。以下是我在多個工業(yè)客戶現(xiàn)場實測總結(jié)的 5 個高頻問題每個都按「現(xiàn)象 → 原因 → 解決」給出可立即執(zhí)行的方案不講原理只給答案。4.1 現(xiàn)象BluetoothFindFirstRadio返回NULLGetLastError()是5ERROR_ACCESS_DENIED原因進程未以管理員權(quán)限運行Windows 拒絕授予藍牙無線電訪問權(quán)。解決右鍵點擊命令行圖標(biāo) → “以管理員身份運行”再執(zhí)行ble_scan.exe -scan。若需雙擊運行確保已將app.manifest嵌入可執(zhí)行文件編譯時加/MANIFESTINPUT:app.manifest。4.2 現(xiàn)象BluetoothFindFirstDevice掃描不到設(shè)備GetLastError()是122ERROR_INSUFFICIENT_BUFFER原因BLUETOOTH_DEVICE_SEARCH_PARAMS結(jié)構(gòu)體的dwSize字段未初始化為sizeof(BLUETOOTH_DEVICE_SEARCH_PARAMS)。解決打開btapi_wrap.c找到BluetoothFindFirstDevice調(diào)用前的searchParams變量確認(rèn)其dwSize賦值語句存在且正確。刪除所有 {0}初始化改為顯式searchParams.dwSize sizeof(searchParams);。4.3 現(xiàn)象連接設(shè)備后BluetoothGATTGetServices返回0個服務(wù)GetLastError()是1168ERROR_NOT_FOUND原因目標(biāo)設(shè)備是經(jīng)典藍牙BR/EDR設(shè)備不是 BLE 設(shè)備。Windows 的BluetoothGATT*系列 API 僅支持 BLE對傳統(tǒng)藍牙無效。解決用手機 App如 nRF Connect確認(rèn)該設(shè)備是否廣播 BLE 廣告包。若廣告數(shù)據(jù)中不含0x0201Flags或0x030316-bit Service UUIDs等 BLE 特征則不是 BLE 設(shè)備此項目不適用。4.4 現(xiàn)象BluetoothGATTReadCharacteristicValue讀取特征值成功但返回數(shù)據(jù)全是0x00原因特征值 handle 錯誤。BluetoothGATTGetCharacteristics返回的pChar-CharacteristicHandle是屬性句柄Attribute Handle而讀取時需用pChar-ValueHandle值句柄。兩者常被混淆。解決在gatt_client.c的讀取函數(shù)中確認(rèn)使用的是pChar-ValueHandle而非pChar-CharacteristicHandle。項目源碼中已用注釋標(biāo)出“// 注意讀取用 ValueHandle不是 CharacteristicHandle”。4.5 現(xiàn)象啟用通知BluetoothGATTRegisterForValueNotifications后回調(diào)函數(shù)從未觸發(fā)原因未向通知配置描述符Client Characteristic Configuration Descriptor, CCCD寫入0x0001啟用通知。Windows 不自動寫 CCCD必須手動調(diào)用BluetoothGATTWriteCharacteristicValue。解決在注冊通知前先獲取該特征值的 CCCD handle通常為ValueHandle 1然后構(gòu)造 2 字節(jié)數(shù)據(jù)0x01, 0x00寫入。項目gatt_client.c中g(shù)att_enable_notify()函數(shù)已實現(xiàn)此邏輯檢查是否被注釋掉。5. 二次開發(fā)實戰(zhàn)如何快速適配你的 BLE 設(shè)備以某款溫濕度傳感器為例現(xiàn)在你已經(jīng)能跑通掃描和連接下一步是讓程序讀出真實數(shù)據(jù)。假設(shè)你手上有某款國產(chǎn) BLE 溫濕度傳感器它的 GATT 結(jié)構(gòu)如下Service UUID0000181a-0000-1000-8000-00805f9b34fbEnvironmental SensingTemperature Characteristic UUID00002a6e-0000-1000-8000-00805f9b34fbData format2 字節(jié)有符號整數(shù)℃需除以 100 得到實際值改造步驟分三步改 UUID、加解析、驗數(shù)據(jù)。全程修改不超過 20 行代碼無需重新編譯整個項目。5.1 修改目標(biāo) UUID替換main.c中的硬編碼字符串打開main.c找到-read命令的處理分支。原代碼可能用占位 UUID你需要替換成傳感器的真實 UUID// main.c 中 -read 分支 else if (strcmp(argv[1], -read) 0 argc 5) { BLUETOOTH_DEVICE_ADDRESS addr parse_bt_address(argv[2]); // 替換這兩行 ↓↓↓ GUID svc_uuid {0xfb34fb9b5f800080, 0x00100000, 0x0010, {0x80,0,0,0,0,0,0,0x1a}}; // 181a GUID char_uuid {0xfb34fb9b5f800080, 0x00100000, 0x0010, {0x80,0,0,0,0,0,0,0x6e}}; // 2a6e // ↑↑↑ 替換結(jié)束 gatt_read_characteristic(addr, svc_uuid, char_uuid); }注意Windows 的GUID結(jié)構(gòu)體是DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8];所以0000181a-...要拆成Data10x0000181aData20x0000Data30x1000Data4{0x80,0x00,0x00,0x80,0x5f,0x9b,0x34,0xfb}。項目已提供uuid_from_string()輔助函數(shù)在uuid_utils.c但手動賦值更快且避免字符串解析開銷。5.2 添加數(shù)據(jù)解析邏輯在gatt_client.c的讀取回調(diào)中處理原始字節(jié)BluetoothGATTReadCharacteristicValue返回的是PBLUETOOTH_GATT_VALUE其pValue字段指向原始字節(jié)數(shù)組。你需要根據(jù)傳感器文檔把字節(jié)轉(zhuǎn)成有意義的數(shù)值。在gatt_read_characteristic()函數(shù)末尾添加// gatt_client.c void gatt_read_characteristic(BLUETOOTH_DEVICE_ADDRESS addr, GUID* pSvcUuid, GUID* pCharUuid) { // ... 前面是服務(wù)發(fā)現(xiàn)、特征值查找邏輯 ... PBLUETOOTH_GATT_VALUE pValue NULL; DWORD dwValueSize 0; if (BluetoothGATTReadCharacteristicValue(hRadio, addr, pChar-ValueHandle, pValue, dwValueSize, 0)) { if (dwValueSize 2) { int16_t raw_temp *(int16_t*)pValue-pValue; // 直接 reinterpret_cast float temp_c (float)raw_temp / 100.0f; printf(Temperature: %.2f °C\n, temp_c); } else { printf(Unexpected value size: %lu bytes\n, dwValueSize); } free(pValue); // 必須釋放Windows 不負(fù)責(zé) } }這里int16_t強制轉(zhuǎn)換是安全的因為 BLE 特征值傳輸是小端序而 x86/x64 也是小端無需字節(jié)序轉(zhuǎn)換。如果傳感器文檔寫明是大端則用ntohs(*(uint16_t*)pValue-pValue)。5.3 驗證與調(diào)試用nRF Connect對照原始數(shù)據(jù)不要相信自己的解析邏輯一定要用專業(yè)工具交叉驗證。下載手機 App “nRF Connect”連接同一臺傳感器找到2a6e特征值點擊 “Read” 查看原始 hex 數(shù)據(jù)如0x2c, 0x01。轉(zhuǎn)成小端整數(shù)0x012c 300除以 100 得3.00°C。然后運行你的ble_read.exe對比輸出是否一致。如果不一致檢查pValue-pValue是否為空指針BluetoothGATTReadCharacteristicValue失敗時不會分配內(nèi)存dwValueSize是否真等于 2有些傳感器返回 4 字節(jié)浮點數(shù)除法是否用了整數(shù)除法/ 100而非/ 100.0f導(dǎo)致截斷。從那以后我每次適配新設(shè)備都強制走一遍 nRF Connect 對照流程——哪怕文檔寫得再清楚硬件固件版本差異也會導(dǎo)致數(shù)據(jù)格式突變。這一步花 2 分鐘能省下 2 小時抓包分析時間。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天激清| 清纯唯美亚洲另类| 小说区 图片区色 综合区| 狠插 制服 自拍| 天天视频黄网站| 九九操久久国产免费视频| 婷婷五月天色| 国产精品视频91久久| 超碰97亚洲区| 日本999精品视频| www99热| 丝袜美腿亚洲| 9久9久9久9久视频网站| 亚州高清色综合| 亚洲人精| 26uuu国产| 无码天天操| 在线视频亚洲无码| 婷婷激情四射| 午夜性生活av免费在线看| 国产精品97超碰| 骚逼一区二区| 日本女厕偷拍| 久久久影院| 国产激情视频在线观看| 日本精品一区二区中文字幕| 日美免费黄片| 国产探花精品在线| 亚洲国产av中文字幕久久| 亚洲情欲| 国产午夜在线观看| 国产久久天堂资源| 中文字幕第2页| 亚洲青青草| av在线人气 | 亚洲欧美一区二区不卡视频播放 | 狠狠操官网| 欧美五十路熟| 97超碰免费人人性爱| 伊人黄色视频免费观看| 日韩一区二区高清在线观看的| 97欧美日韩| 91久久久久| 精品一久久久| 欧美18禁91| 婷婷97| 啪啪资源网| 综合久久97| 人人操人人肉久久精品| 日韩一级二级三级| 本道在线| 久超碰这里只有精品| 综合情欲网| 欧美后入式| 欧美性高潮在线| 黄页网站成人免费| 亚洲97精品| 欧美中文综合| 97免费在线| 人妻一区二区三区四区视频| 亚洲97在线| 日本不卡二区| 最新日韩黄片| 日韩精品 资源| 久久久久9| 丁香五月大香蕉| 婷婷五月天成人网| 欧美嫩性色| 韩国轻伦国内自拍一区| 狠狠爱夜夜干| 性猛交| 国产精品人人爽人人做可爱福利| 色黄色美女大长腿午夜视频| 国产欧美伊人| 亚洲激情天堂网| 欧美天堂亚洲电影院一区在线播放| 丁香五月天久久精品视频一区二区三区| 亚洲大色堂| 国产人妻一区二区三区欧美毛片| 男人的天堂久久久| 曰韩精品视频一区二区| 蜜桃成人1区2区3区| 色女综合| 伊人九九| 欧美一区二区三区四区综合| 欧美制服网站美腿丝袜| 久久99精品九九久久久婷婷| 超碰99re| 在线观看亚洲专区| 九九精品美女高溯喷水| 超碰综合97在线| 99999精品| 国产精品视频麻豆入口| 成人日韩欧美| 91熟女视频网| 夜间福利片1000无码| 色九月婷婷| 日日夜夜模| 97精品免费视频网站| 人人玩人人添人人澡免费| 探花一区在线| 试看60秒| 99亚洲国产精品色一区二区三区| 男人的天堂亚洲| 91无摭挡| 岛国A V在线免费看| 色婷婷香蕉| 中文字幕人妻色偷偷久久皮 | 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 欧美偷拍区| 99爱爱| 亚州综合AⅤ| 啊啊啊好想要| 欧美78p| 操死我了啊啊啊| 久久久亚洲熟妇熟女| 色色五月婷| 亚洲中亚日激情视频| 无码人妻精品一区二区中文| 麻豆AV96熟妇人妻| 久久欲| 操狠狠| 骚鸭AV| 岛国艾薇凹凸视频天堂| 欧美 日韩第一性色| 思思热免费在线视频| 60秒试看最爽10分钟网站| 啪啪视频免费在线观看| 国产剧情一区在线观看| 偷拍综合网| 日韩成人综合网| 91日韩网站| 无码免费精品高清| 欧美天堂在线| 日本三级韩三级99久久| 美女诱惑久久| 嗯嗯嗯,草死我| www.亚洲黄色| 区自美91| 95人妻爽爽人人做人人澡| 欧美亚洲韩国视频十五区| 加勒比在线视频一区二区三区| 狠狠干精品一二三四五六2022| 白丝av| 97精品久久久久久久| av一区二区三区四区| 亚洲揄拍网| 国模艳艳啪啪一区| 久久香蕉国产线看观看亚洲女人 | 日本中文字幕一区| 爱做久久久久久| 欧美97免费| 激情网五月天| 欧美偷拍区| 天天躁夜夜躁狠狠躁AV| 91jk色拍| 午夜精品视频777| 91热热色| 久久超碰97中文字幕| 日韩激情啪啪啪| 校园春色家庭伦理欧美激情| 夜夜操夜夜爽夜夜高潮| 欧美成人黄网色网站| 日韩97在线| 综合激情97 | 免费看日本操逼视频| 91性网| 日日夜夜草草草| 日本不卡高清视频| 天天做天天爱| 在线观看 99热| 日韩三级视频一区二区三区| 香蕉热人人精品| 欧美淫乱视频| 吉川爱美亚洲二区在线 | 中文字幕女同在线| 久久人妻视频| 日韩Va亚洲va欧美Ⅴa久久| 91综合网站| 伊人991| 99热免费| 可以免费观看的日韩av毛片| 亚洲国产ⅴ高清在线观看| 天天欲望网| 五十路人妻在线| 顶级少妇BT天堂| 91久久久久久久| 99久久久无码精品国产人| 天天综合中文字幕 91| 国产熟码AV| 高跟伊人julia ann| 色99在线| 久色网| 国产精品自在线发布| 一个人免费视频观看在线WWW| 欲香欲色综合天天伊人| 亚洲丝袜二区在线| 久操免费电影| 火箭成精品视频884必出精品| 国产日产欧产美韩系列麻豆免费| 91美女高潮| 欧美暴力猛交| 婷婷丁香一区二区三区| 欧美天天谢综合网| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 欧美色图色综合| 校园春色 亚洲| 亚洲一区亚洲天堂| 无码粉嫩白虎一线天b区| 人妻蜜桃臀| 熟妇无码视频三区| 国产丁香精品露脸视频| 97色欧洲| 日本乱人伦片中文三区| 九九热久久99精品re| 欧美极品美女aaaaaa级黄片| 丝袜剧情| 色五月婷婷久久| 九九综合久久| 91 手机在线播放 绯色| 96爱综合| 熟妇高潮精品一区二区三区下载| 99999这里都精品| 日韩97视频| 久久国产精品视频| av激情亚洲五月天| 午夜超爽| 久久99综合| 中文字幕 人妻不满 在线视频| 一区二区你上我| 国产精品情侣啪啪| 亚洲成人色情五月天丁香花| 久久精品高清无码一区| 国产午夜在线观看| 日韩一级欧美一级在线观看| 人妻少妇久久久| 嗯嗯啊啊操死我| 欧美视频激情久久久久久| 亚洲熟女一区| 97精品国产| 99久国产精品午夜性色福利| 欧美日韩性爱操大逼| 婷婷成人五月天| 亚洲精品欧美专业| 日逼97| 亚洲AV成人无码一二三久久| 精品国产肉丝袜在线拍国语| 久干网| 日韩成人小视频| 青娱乐休闲视频在线观看| 九九热久久99精品re| 探花激情视频| 夜夜 中文视频rt| 丝袜 中出 制服 人妻 美腿 中文字幕| 精品人妻一区二区三区四区不卡在| 国产狂喷潮在线精品| 能在线播放的国产三级| 欧美综合骚| 美国三级日本三级久久99| 特色a在线上| 免费伦费视频在线观看| 色av中文字| 97天天在线| 青青青国产手线观看视频2| 日本高清_区二区三区 | 欧美高清色| 老司机深夜影院18未满| 亚洲第一页欧美| 国产中文字幕在线观看| 人人射人人操人人摸| 操我啊啊啊啊啊| 黄色交缠性感爆操91国产精品免费一区二区三区 | 午夜精品久久一区二区| 中文字幕 码 自拍 视频 区| 精品女同一区| 性色av网站| 成人天天看站长推荐| 思思热一热婷婷热一热| 久久黄黄黄| 国产野战露脸在线播放| 成人日韩中文字幕| 精品视频一区二区| 爽爽淫人网| 国产精品白丝AV| 波多野42部无码喷潮在线观看| 91久久精品国产| 色妇综合网| 亚洲丁香花色| 天天久久久久久| 欧美黄色大香蕉一区二区| 老司机午夜福利视频一区二区| 98人妻精品一区二区色欲| 五月丁香大香蕉| 国语精品对白| 色妹子A V| 亚洲久久久久| 情色日播放AV| 2018天天日天天日| 97操在线| 日日碰狠狠添天天爽超| 96国产精品| 五月天激情视频| 日韩大香蕉AV影片| 91色黑人少妇| 秋霞网—男女啪啪亚洲免费体验区 | 青青草中文-久久青草精品一区二区三| 欧美线天码中字| 人人爱人人操人人性| 97精品在线| 欧洲熟妇xxXx欧美老妇裸体| 成人国产二区三区在线,男女精品。| 久久精品99| 天堂亚洲精品| 快点操死我| 永久免费av无码网站国产app | 97爱爱| 超碰 另类 欧美 | 亚洲午夜精品久久久中文影院| 成人三级片无码| 欧美三四五区| 97色色,97综合| 伊人久操| 日韩成人精品| 亚洲AV人人澡人人爱| 99啪啪| 中国AV美女| 国产情色在线| 97蜜桃综合| 亚洲97久久精品亚洲| 91综合天天看| 色九月综合| 成人性爱美曰韩| 亚洲人妻久久| 亚洲欧美综合网站| 91九九九馒头| 欧美成人黄网色网站| 欧洲精品二区| 色妇91| 奶水 人妻 哺乳 在线| 天天舔九色婷婷| 综合色久| 久夜操| 九九九九九九九九九国产精品| 五月婷婷性爱| 日韩性爱毛片操骚逼| 麻豆色99999| 男人的天堂激情| 国模吧 一区二区三区| 国产精品懂色tv影视免费观看| 少妇99| 亚洲欧美天堂在线| av中文在线| 国产久久av| 欧美AAAA黄片| 中国少妇啪啪视频| 亚洲天堂电影网| 夜夜爽妓女| 五月天综合| 一区二区三区 日韩欧美| 欧美一区二区男人天堂| 中文字幕丰满子伦无码专区在线视频最新| 免费草草草草草视频| 极品粉嫩一区二区| 综合网欧| 伊人久久国产免费观看视频| 蜜桃臀av在线观看| 发朗少妇买婬全视频中文| 无码 有码 国产18p| 亚川综合视频| 老熟妇一区二区三区…| 黄色电影在线播放综合网站 | 人人么人人操| 神马久久久久| 五月天我淫我色av| 国产在线综合福利网站| 九九亚洲| 亚洲?V高清一区二区三区尤物| 国产美女高潮视频| 精品999999| 日韩小电影| 视频在线97| 曰韩少妇无码| 国产蜜臀在线| 欲香欲色综合天天伊人| 久热伊人| 91丝袜在线观看| 久久久人妻| 91色花堂| 亚洲熟女乱色一区二区三区| 人妻一区二区三区视频 | 日韩精品一区二区三区色欲| 丁香色五月 97干| 影音先锋国产精品| 九九九九久久久| 91天天看| 国内三级自拍小视频在线观看| 天天色悠悠激情| 国产一区二区在线播放量| 69av一区二区三区| 少妇一区二区三区高速| 久久性爱大全| 五月花婷婷| 欧美嗯啊……在线观看视频免费| 女一区二区| 欧美日韩青操| 加勒比海人人操超碰在线| 91网站18禁| 老熟女乱伦片| 欧美久久伊人| 成人影 天天操 亚洲| 国产精品乱码久久久久久久久久久久| 久湿久久| 婷婷色综合欧美日韩| 欧美gv在线观看| 在线无码操| 99国产人成精品| 日韩二级| 国产一区二区精品久久久不卡蜜臀| 国产剧情在线| 秋霞无码av鲁丝片一区| 亚洲色人妻综合| 久久骚少妇| 天堂亚洲精品| 九月丁香婷婷色| 97久久久| 二三四区精品| 亚洲色91| 亚洲欧洲网站免费观看| 国产精品肉丝自拍| 一卡二卡三卡| 蜜乳Av成人片网站| 成人贴图日韩欧美| 天天干夜夜| a片久久久久久久久久久久 | 欧美高清色| 日本精品网站在线中文| 大香蕉啪啪网| 99re在线视频| 欧美成熟性爱精品| 可以免费观看的av| 蜜臀99久久精品| 亚洲av国产av综合av卡| 欧美熟爽综合| 欧美色综合网| 99久久网站| 最新av在线| 欧美色图色综合| 国内自拍 日韩激情 99| 伊人aaa| 久久久性| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 国产三级电影免费观看| 黑人精品久久97| 最新国产精品| 东京太热久久久| 国产91美女视频| 国产av美女被艹的乱叫| 欧美青青草视频| 国产强奸乱伦xd| 熟妇人妻一区二区| 天天视频黄| 亚洲色人妻综合| 特污精品女优骚货黄色视频在线免费观看| 久久精品美女一区| 久久青娱乐| 亚洲偷拍自拍在线视频| 蜜臀无码一区二区| 国产伦乱91| 超碰欧美97资源| 日韩一级片在线看| 欲色综合| 超碰爽人妻熟女Av| 国产91亚洲精品一区二区三区| 国产熟女少妇一区| 视频国产欧美在线播放| 桃色六月天| 日韩啊V| av情色影音| 国产肏逼网站| 久久久久久久久久久久久久久久9| 夜夜草天天| 久草毛片电影怡| 国产精品69人妻无码久久久| 91精品操美女| 婷婷五月天福利| 亚洲久久久| 蜜臀AV一区二区三区激情综合| 伊人热综合| 加勒比日本在线| 最新的亚洲无吗| 欧美成人精品一区二区男人蜜臀| 婷婷色婷婷| 女人天堂av在线播放| 综合亚洲情色| 亚洲精品乱码久久久久久蜜桃麻豆| 97精品视频在线播放| 操操碰| 久久精品人人做人人看| 暖暖精品二区三区观看| 91无摭挡| 色哟哟 日韩精品| 亚洲无吗在线视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲欧洲综合成人av一区| 夜夜 中文视频rt| 国产无套粉嫩白浆在| 天天做天天爱| 97超碰精品成| 中文字幕艹艹| 久久久免费一级黄片| 999久久久九九九九| 蜜屁Av| 久久人妻精品| WWW啪啪的com| 欧美综合另类| 久久九九精品一区二区| 91丝袜美腿网站| 精品一区二区成人| 亚洲欧美人妻| 日本久久久久久久久久| 人妻 欧美 中文| 99热这里是精品| 国产黄片精品在线| 亚洲中文字幕在线视频一区二区| 日本精品一区二区三| 久草久热| 国产乱码久久| 亚洲无码一区二区三区三州| 小日子操bb在线看| 大学生美女口爆| 亚洲图片欧美另类综合免费视频大大香| 熟女性视频| 亚洲超碰AV| 美国黄片aaa| 日韩一二三区| 亚洲黄色AV电影| 中国黄色特级精品一区二区三区片| 老女人日韩美91| 99久久久99久久91熟女| 中国探花熟女| 国产欧美岛国精品一区| 人人操人人操人人操人人操人人操人人人11.CM| 欧美色综合网| www欧美91| 欲综合网| 伊人宅男大香蕉| 大屁股熟女一区二区三区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 在线精品福利免费播放| 亚洲欧美中文一区二区三| 国产亚洲深夜激情| 五月丁香六月综合缴清无码| 午夜性刺激视频免费观看| 爱逼综合| 色婷婷国产精品一区在线观看| 97国产|免费| 1204人成网站色www| 亚洲色图自拍| 天天日骚逼熟女| 日本高清熟女久久一区| 制服诱惑亚洲一区二区三区在线观看| 久久久久元码视频| 欧美最大综合网| 欧美日韩美女精品久草一区二区三区| 熟女网站最新| 97超碰欧美手机在线| 亚洲日本大香蕉1| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 91操熟女视频 | 乱伦3P视频| 91精品伊人久久久大香线蕉91| 亚洲αv一区二区三区| 色综合av男人天堂| 高清国产av无码| 香蕉久久国产AV一区二区| 深爱激情五月天| 精品人人| 九九热精彩视频| 99热99re6国产在线播放| 日本久久久精品电影| 一区二区三区一亚洲中文字幕、综合区灬| 99re99在线视频| 神马午夜久久| 日韩免费高清大片在线| 国产精品成人蜜臀AV在线| 日韩性爱网址| 中文字幕视频在线观看一区二区| 国产亚洲色婷婷99精品91| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 中文一区二区婷婷视频| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 岛国大片在线观看网站入口| 伊人久久艹| 九九九九九九九九九九九免费国产| 330Dv国产女人终合视频极品人与兽 | 人人妻人人爽| 日韩操逼性鲍| 91久操| 成人日本精品九区| 蜜臀99久久精品| 日本成人在线不卡一区二区三区| 亚洲天堂中文字| 大香樵伊人网| 91AV天美在线视频| 国产乱伦视频污| 视频分类 国内精品| 欧中日成人免费影视| 人妻色情天天操| 日本黄色精品专区网站| 欧美在线视频99| 欧美日韩青操| 无遮挡又黄又刺激的视频| 成人性爱电影一区二区| 天天夜夜久久| 啊啊啊在线观看| 熟女突然公开看18禁影片 | 农村女一级毛卡片| 99久热| 98福利在线视频| 亚洲天天在线| 成人日韩欧美| 日本天堂在线播放| 国产精品麻豆视频网站| av在线人气| 97在线视频网站| 亚洲欧美日韩夜夜| 亚洲黄色网址| 亚洲97成人在线观看| 久久久蜜桃一区二区三区| 超碰9 7女人| 18禁网站在线播放| AV99热18这里只有精品| 国产婷婷综合在线观看| 麻豆天美国美国产| 超碰91在线| 婷婷丁香六月| 九九九九精品视频| 男人夜色天堂ss| 久久久久久久久久久久97| 手机看av网站在线看| 男人天堂免费| 国产CHASE男男GAYGA 毛多色婷婷| 热久日综合| 欧美五十路熟| 91美女视频在线免费观看| ,成人免费啪啪视频| 91亚洲影院综合| 久久黄片国产一区二区| 日韩在线97| 欧美 日韩 亚洲 春色| 啊啊啊在线观看免费视频| 久久的免费性爱视频| 密臀在线免费观看| 黑人美精品 A片| 很很很很操| 欧美日韩 强奸乱伦| 老女人91| 超碰在线成人| 欧成人精品H无码| 色妹子A V| 免费观看成人www精品视频| 97超碰无码网| 日本日逼高清| 久久久月天| 9九九九九视频在线观看| 日韩少妇无码| 少妇人妻精品| 午夜精品久久久久久久99蜜桃一| 久久久极品| 91色艳| 一本色道综合久久欧美| 人妻免费观看| 91碰碰| 九九九精品成人免费视频小说| 97色97好| 国产强奸超碰AV| 久久啊啊| 热久久国产精品视频大陆精品| 国产区91柔拿会所技师| 成人无码欧美一级A片狼牙直播| 你操综合| AA特级绝黄| 国内外内射高清视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 殴美色网| 密臀在线免费观看| 中国一区二区亚洲人妻| 我要色综合网| 97在线资源| 九九九九久久久| 手机在线播放国产福利| 人爽不卡视频| 亚洲精品蜜桃久久久久久久| 长长久久免费视频| 日本免费专区| 尤物视频偷拍免费| 久久久久亚洲?V片无码V| 日韩一区二区高清在线观看的| 91无码人妻精品一区二区三区蜜桃 | 欧美久热| 成人七区| 秋霞Av理论一级在线| 天天日熟妇| 啊啊啊啊啊操我视频| 免费综合亚洲中文| 岛国黄片网站| 欧美天天综合网版| 97欧美色综合| 色婷婷在线视频精品导航| 欧美一级A片在线看视频性色| 国产二区三区免费视频| 欧美激情内射| 中精品一区二区三区| 夜夜嗷嗷一区二区| 黄页18禁| 麻豆人妻精品一区二区| 美國A片| 飘花国产午夜精品不卡| 国产深夜福利| 欧美宗合网| …中文字幕亚洲乱,97人妻无码费视…| 性色avv| 91一区二区| 99re久久| 国产AV高清AV无码| 综合久久六月久久婷婷| 天天色,天天干,天天干| 国产在线能看的你懂的| 啊啊啊啊操死我| 中文字幕一区二区三区四五区| 日产123区精品免费观看| 青青操少妇| 超碰在线974| 台湾佬激情综合| 美中韩AV综合网| 少妇 综合| 又大又白奶子| 丝袜美腿欧美| 九九久久久九九| 在线女人91| 日本免费一区二| 99热精品青草在线 | 日本五区不卡| 超碰社区97| 中文字幕免费在线观看| 亚洲天天天| 南澳成人一级片在线播放| 色老大| 欧美一级二级三级| 久久啊啊| 秋霞怕怕片| 成年人网站在线免费观看| 九九九热| 久久久精品中文字幕爱豆| 九九精品无码专区免费| 精品少妇人妻av久久免费| 秋霞无码av鲁丝片一区| 国产女人成人精品视频| 麻豆国产尤物AV| 久久久久性熟视频| 新97国产超碰| 干妹子| 人妻少妇精品| 99re免费视频精品全部| 国产精品999zyz| 久久久国产成人一区二区三区在线| 在线国产探花| 3571色综合一区二区二区| 夜夜操天天肏| 中文日韩欧美熟| 熟女熟妇一区二区三四区| 日产操逼| 精品v日韩欧美国产| 国产成人无码网站在线视频| 国产11页| 乱欲性色| 密臀在线一区尤物| 岛国1区2区3区在线观看| 可以免费观看的日韩av毛片| 免费观看欧美日韩操逼视频| 精品十三区| 久热这里| AA级电影三区| 涩五月婷婷| 九九热国产| 亚洲激情综合另类男同| 成 人 A V免费视频在线观看| 国产传媒日本欧美专区| 99久久精品欧美国产| 精品久久久久av影院| 男人的天堂2019AV| 91丨精品丨国产丨丝袜| 国产久久久久久| 国产精品视频麻豆入口| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 99热综合| 日韩精品人妻中文字有码在线| 校园激情狠狠四射| 日韩性爱1级片视频| 婷婷五月成人| 欧美日韩天堂| 国产午夜在线观看| 亚洲九区| 青青草字幕AV| 国产主播福利| 六九九九| 97久操| 在线a v| 97干色天堂| 亚洲欧美91| 嫩草一区二区在线观看| 欧美亚洲影视| 大学生美女口爆| 激情网五月天| 极品出轨视频网站| 久久久国产亚洲精品系列| 97综合日韩| 精品999999| 大香蕉久久| 欧美色老汉| 天天躁日日躁AAA片李宗瑞| 亚洲色图欧美另类在线| 免费自拍三级综合| 91成人在线| 精品人妻一二三| 麻豆天美国美国产AV| 熟人人妻少妇精品久久| 人人看人人摸人人色| 校园春色宗合网| 亚洲国产精品有声| 欧美日动态视频| 久久精品中文字幕观看| 亚洲美女色图| 亚洲精品无码成人久久久99 | 国产家庭乱伦性爱视频| 91jk色拍| 国产传媒午夜理伦精品| 97 国产一区| 成年人三级黄色片视频| 97久久久精品| 精品九九国产无码| 天天色怡春院| 欧美亚洲尤物久久| 国产热av| 中文字幕日本久久| 四虎在线视频| 日韩另类色图| 亚洲 欧美 精品专区 极品| 天天干2区3区| 国产亚洲深夜激情| 最新av在线| 日本一区二区三区四区免费观看| 东京热大香焦| 久久99网站| 97超碰人人模人人拍人人| 99综合自拍| 久久久亚洲欧美综合| 玖色av| 夜夜操二区| www.99色| 伊人久久亚洲色欲综合网站 | 青青操少妇| 日韩色| 国产91美女视频| 大稥蕉免费视频这里只有精品| 日韩一级欧美一级国产一级台湾| 国产污视频麻豆传媒一区二区| 国产日韩欧美中文在线播放 | 国产成人综合网| 亚洲资源站| 九九久久国产精品| 欧美网站免费| 亚洲精品一区二区精品| 91热色| 九九九综合精品| 777AV电影| 色97干| 久草精品视频| 激情五月婷婷| 在线综合 亚洲 欧美中文字幕| q2午夜理论片夜色av| 黄色污污污污污污网站| 国产精品成人无码a v毛片| 久久久精品,3| 欧美 日韩 另类 亚洲| 亚洲AV永久无码一区仙野| 精品99999| 十八禁电影伊人网| 91在线视频免费中出| 国产综合永久精品日韩鬼片| 青青草国产欧美非洲黑人| 成熟熟女国产精品一区二区| 91 在线亚洲| 1024人妻熟女一区二区三区| 国产性爱强奸乱伦大全| #NAME?| 人妻熟女一区二区三区在线| 狠狠综合| 插日本熟女视频| 亚洲无码视频免费在线观看网址!| 亚洲AV人人澡人人爱| 久久人妻四季| 婷婷五月天小说| 久久99午夜精品一区人妻| 欧美性爱日韩高清| 欧美色院| 97在线公开视频| 91人妻久久久久久久久久久久久| av在线人气| 九九热免费视频| 一级久久久久久久久久久| 国模私拍一区二区三区神乳| 国产精品96| 亚洲图片欧美偷拍| 羞答答AV中文字| 麻豆传媒一区二区在线观看| 绯色AV粉色AV蜜臀AV| 精品久久久久久亚洲| 亚洲一区中文字幕一区| 国产三级多多影院2022国产AA一级毛片无码 | 亚洲激情欧美色图 | 成人性爱全视频观看| 精品九九国产无码| 美女诱惑久久| 亚洲情色1区| 欧美东京热青青草| 伊人网av| 99无码视频| 91成人久久| 中文字幕乱在线伦视频中文字幕乱码在线 | 日韩欧美国产高清视频| 93人人操人人| 91在线视频观看国产| 伊人精品久久网站| 嫩呦国产一区二区三区AV| 蜜乳视频网站| 五月婷婷丁香六月丁香| 色综合V| 国内毛片无遮挡国产| 国产91亚洲精品一区二区三区| 91激情| 日本人妻丰满熟妇久久久久久| 97超碰中文在线| 999久久久| 久久精品国产亚洲AV清纯| 午夜国产成人精品视频| 人妻二区| 人人操人人插人人摸人人干| 岛国视频一二三区| 黄色网址在线免费观看| 欧美亚洲中文字幕| 九九黄色网| 精品一区二区3区| 久久一二区四| 热热热热日日漂亮永久永久国产日| 伊蕉97蜜桃97狠狠综合干 | 在线视频日韩欧美国产| 91超级碰| 97WW精品| 亚洲少妇激情视频| 亚洲诱惑天堂| 亚洲骚逼少妇| 明星性猛交ⅹxxx乱大交| 伊人五月天婷婷| 亚洲情色中文字幕一区| 国产激情综合五月久久| 日韩精彩免费| 少妇色综合| 女人香蕉久久毛毛片精品| 亚洲色人| 岛国视频一二三区| 五月丁香六月婷| 久久的网站啊啊啊啊啊| 欧美激情久久久久| 91高清欧美| 精品无码一区二区三区| 全球成人中文在线| 91n美女视频| 2019午夜福利视频| 中文字幕在线免费观看 | 按摩中文字幕| 亚洲诱惑天堂 | 91美女网站| 亚洲精品影视老司机| 日本大片日本一区二区免费高清| 国产农村妇女精品1区二区| 极品一区二区三区免费| 亚洲麻豆av一区二区| 乱伦AVxx| 刺激性视频黄页| 久久九九精品一区二区| www久久国产精品| 色香色欲天天综合网天天来吧| 狠狠 91| 欧美洲精品一级| 色色毛片| 97精品综合久久| AV99热18这里只有精品| 日韩人妻丝袜中文字幕| 影音先锋乱| 天天综合网在线| 精品69网| 亚洲黄网在哪免费看| 欧美亚洲20p| 中文字幕视频在线观看| 东北丰满熟女国产一区| 狼人综合婷婷激情四射 | 久久riav中文精品| 亚洲成人一二三区| 天天拍夜夜| 超碰人人超在线观看| 国产精品久久久久久久久久久久久久久久久久 | 又黄又硬又粗又长国产视频| 国产精品人妻熟女aⅴ| 啊啊啊啊啊啊啊国| 怡红院成人视频| 久久久久国产精品片区无码直播| 一级黄碟在线观看| 色综合av综合久久| 992这里有精品| 日本免费二区三区| 日本人人操人人操| 一区二区三区色综合| 亚洲成aⅴ人片不卡无码| 91九九九馒头| 日韩无码一区二区三区| 91精品丝袜久久久久久| 欧美淫乱视频| 国产三区免费在线观看| 东北女人操比视频| 久久男人精品| 一区| 亚洲国产一区二区日韩专区| 夜夜高潮夜夜爽高清视频一| 探花精品 一区二区| 综合色图亚洲欧美| 夜色综合| 操狠狠| 97超碰日韩| 看看小穴| 日本精品一级二级三级| 日日天天久久啊啊aaa| 伊人网免费视频| 蜜桃在线观看一区二区三区 | 天天操综合网| 999久久久国产精品| 夜夜爽77777| 高潮精品| 超碰人妻久久人妻中文97| 欧亚无码视频| 亚洲欧洲日产国产综合网| 四虎国产精品永久地址入口| 国产在线精品电影观看| 中国东北熟女老太婆内谢| 综合网亚洲1| 99精品久久| 俄罗斯及免费在线看| 2019天天操天天爽天天拍| 亚洲成人免费中文字幕| www.acm成人黄色毛片| 婷婷啪啪| 精品久久久av无码免费| juliaann丝袜大战黑鬼| 91精品人妻电影| 久久久久女教师免费一区| 亚洲精品视频二区| 欧美高清18A片| 男人的天堂在线| 色色色色电影网| 91东北熟女| 热久久国产精品视频大陆精品| 免费作爱一级视频| 天天综合青苹果| 黄色成品网站| 亚洲强奸乱伦影视网| 东京热av影院| 超碰97玖玖爱| 日韩去日本高清在| 国产性爱强奸乱伦大全| 亚洲日韩东京热一区| 婷婷综合| 国产不良强奸视频免费看| 亚洲drav色图| 中文字幕一区av| 欧美 日韩 亚洲 春色| 天堂网亚洲区手机版| 超碰性爱97| 精品伊人久久久大香线蕉小说| 色噜噜狠狠色综无码久久合欧美| 91黑丝美女| 红杏大香蕉| 久久久国产亚洲精品系列| 亚洲毛片基地专区| 日本加勒比无码专区一二三| 欧美嗯啊……在线观看视频免费| 久久社区一区二区三区| 欧美色院| 中出在线视频| 色呦呦、国产精品| 国产精品久久久三级无码| 欧美高清18A片| 青青久日| 成人五月天色网| 国产精品一区二区三区在线密挑| 日韩丰满熟妇| 摸奶性爱视频网站在线免费播放| 男人天堂导航| 亚州熟妇精品| 爱欲AV| 超碰79人人乐| 天天躁日日躁XXXXYY| 尹人免费观看视频在线| 极品少妇久久久| 91男人天堂网| 熟女自慰久久久| 久久久精品国产亚洲伊人| 日韩成人大片在线观看| 九月激情婷婷| 欧美成年人性爱视频免费观看| 日本欧美不卡| 熟女熟妇一区二区三区视频| 色婷婷久久综合超碰| 色呦呦、国产精品| 操少妇很爽av| 色五月激情网| 久色网| JULIA一区二区三区在线播放| 免费黄色片。| 八戒午夜福利理论片| 在线a亚洲视频播放在线| 精品人妻一区二区三区不卡断 | 26uuu久久| 亚洲国产成人综合碰碰三级经典| 无马一区二区| 啊啊啊慢点| 日日干日日摸| 五月天婷婷社区| 东京热91| 清纯唯美综合| 97se亚洲综合自| 精品久久97| 超碰97COm中文| 一二三区精品视频| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美97在线观看| 婷婷午夜清品久久久久久久性色视频观| 91欧美综合在线| 精品一区二区三区四区外站| 欧美日韩国产电影| 97色涩| 97一区二区三区视频| 中文字幕女同在线| 99热这里只有是精品10| 中文字幕综合人妻| 热的中文 热的有码 热的国产| 韩国国产欧美情侣视频在线| 嗯嗯啊啊好大好爽| 亚洲亚洲亚洲天堂天堂| 97在线日韩中文字幕| 91女色|