從官網(wǎng)下載WCHBLEDLL,移植到C#工程,讀取服務(wù)和特征值UUID列表不穩(wěn)定

昨天研究WCHBLEDLL,移植到了C#工程。按照文檔里的API調(diào)用順序,可以讀寫特征值了。但是獲取服務(wù)UUID和特征UUID的函數(shù)調(diào)用非常不穩(wěn)定。WCHBLEGetAllServicesUUID返回的數(shù)組長(zhǎng)度有時(shí)候是0,但是查看數(shù)組指針指向的內(nèi)存,是有預(yù)期數(shù)據(jù)和MFC Demo里面的列表一致

現(xiàn)在通過每次延時(shí)3秒,循環(huán)去調(diào)用獲取UUID的API,大概4-7次左右才有數(shù)組長(zhǎng)度;我看MFC Demo的源碼并沒有這種循環(huán)機(jī)制,僅僅調(diào)用一次數(shù)據(jù)就出來了,有點(diǎn)不知所措了!


附從官網(wǎng)下載的MFC Demo地址:http://www.findthetime.net/downloads/WCHBleLib_MultiOS_ZIP.html

1692509862193115.png

1692509862120307.png




?????請(qǐng)問打開設(shè)備怎么寫的,我這里成功不了呢,不反回句柄????
?????????
?????????
?????????///?
????????///?連接狀態(tài)委托
????????///?
????????///?設(shè)備句柄
????????///?連接狀態(tài),0-斷開、1-連接
????????[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
????????public?delegate??void?FunDevConnChangeCallBack(IntPtr?hDev,?int?ConnectStatus);

????????///?
????????///?打開設(shè)備
????????///?
????????///?設(shè)備路徑,可通過掃描設(shè)備獲取
????????///?上傳設(shè)備狀態(tài)的回調(diào)函數(shù)
????????///?
????????[DllImport("WCHBLEDLL.dll",?EntryPoint?=?"WCHBLEOpenDevice",?SetLastError?=?true,?CharSet?=?CharSet.Auto,?ExactSpelling?=?false,?CallingConvention?=?CallingConvention.Winapi)]
????????public?static?extern?IntPtr?WCHBLEOpenDevice(string?DevID,?FunDevConnChangeCallBack?pFunDevConnChange)

前端調(diào)用

image.png


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频