最近根據專案的需求,需要在windows 10上面使用藍牙,連接外設。使用VC藍牙相關的api,進行通訊。代碼的流程:列舉本地藍牙設備--->搜索附近藍牙設備--->找到指定藍牙名稱的設備,進行配對,配對成功后,虛擬出串口--->打開串口,收發資料,關閉串口。在藍牙連接斷開的壓力測驗中(需進行幾百次測驗),一般在大約幾十次時,打開串口會失敗,打開串口代碼如下:
CreateFile(strCom,
GENERIC_READ | GENERIC_WRITE,
0, // exclusive access
NULL, // no security attrs
OPEN_EXISTING,//OPEN_EXISTING,
0, // | FILE_FLAG_OVERLAPPED, FILE_ATTRIBUTE_NORMAL
NULL );
回傳-1,呼叫GetLastError,錯誤代碼是:121,在網上查找錯誤碼描述: 信號燈超時時間已到,不太明白具體是指啥?望各位高手指點,多謝!
uj5u.com熱心網友回復:
現在連接沒問題,只是穩定性達不到要求,各位高手幫忙看下。uj5u.com熱心網友回復:
謝邀 我對藍牙不太熟悉只能估計這個是不是因為頻繁的關閉打開 而藍牙或串口層面的連接斷開程序需要一定時間來完成 導致在關閉的時候,另一端嘗試打開呢?
或許可以嘗試在頻繁地打開、關閉之間增加一個等待看是不是能提高穩定性?
uj5u.com熱心網友回復:
我在打開之前和關閉之后,增加一定延時,試下效果。多謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/7664.html
標籤:Windows客戶端使用
