簡體   English   中英

如何檢測正在使用的FTDI設備?

[英]How to detect FTDI device in use?

我正在編寫一個通過FTD2xx.dll庫使用幾種類型的FTDI設備的C ++應用程序(我不使用虛擬COM端口)。 我使用FT_CreateDeviceInfoList函數搜索連接的設備。

當我運行應用程序的多個實例時,就會出現問題,因為函數FT_CreateDeviceInfoList無法在當前使用的設備上傳遞任何其他信息。

我需要區分兩個簡單的情況:

  1. 設備在系統中不存在。
  2. 設備已連接,但當前正在使用。

我該怎么辦?

謝謝你的想法:)

鎖定文件可以嗎? 讓您的應用在每個設備的某個位置(如果在類似Linux的系統上,則在.FTDI_DeviceName.lock)中創建一個〜FTDI_DeviceName.lock文件,並檢查其是否存在。

然后,通過常規功能檢查設備是否存在,並且鎖應確保您知道正在使用的設備。

僅當您的應用是使用這些設備的唯一程序時,這顯然才有效。

這就是我會做的

設備在系統中不存在。 您可以使用GetDeviceList api返回已連接設備的FTDI列表,並使用SerialNumber屬性或Description屬性來檢查特定的設備。

設備已連接,但當前正在使用。 如果已使用該設備,則使用api OpenBySerialNumber()或OpenByIndex()將失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM