[英]How to detect FTDI device in use?
我正在編寫一個通過FTD2xx.dll庫使用幾種類型的FTDI設備的C ++應用程序(我不使用虛擬COM端口)。 我使用FT_CreateDeviceInfoList
函數搜索連接的設備。
當我運行應用程序的多個實例時,就會出現問題,因為函數FT_CreateDeviceInfoList
無法在當前使用的設備上傳遞任何其他信息。
我需要區分兩個簡單的情況:
我該怎么辦?
謝謝你的想法:)
鎖定文件可以嗎? 讓您的應用在每個設備的某個位置(如果在類似Linux的系統上,則在.FTDI_DeviceName.lock)中創建一個〜FTDI_DeviceName.lock文件,並檢查其是否存在。
然后,通過常規功能檢查設備是否存在,並且鎖應確保您知道正在使用的設備。
僅當您的應用是使用這些設備的唯一程序時,這顯然才有效。
這就是我會做的
設備在系統中不存在。 您可以使用GetDeviceList api返回已連接設備的FTDI列表,並使用SerialNumber屬性或Description屬性來檢查特定的設備。
設備已連接,但當前正在使用。 如果已使用該設備,則使用api OpenBySerialNumber()或OpenByIndex()將失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.