2010-05-17 98 views
1

我正在爲Windows CE編程,我需要連接到掃描儀。這是沒有問題 - 我知道,這是在端口COM0,但如果我插入另一臺設備早些時候它得到另一個COM端口...讓所有COM端口最簡單的方法是:COM端口 - 如何識別設備(.net/c#)

SerialPort.GetPortNames() 

但我不不知道如何識別設備?有沒有標準的方法?我無法'ping'它,因爲只有一個設備只發送數據...它始終都會發送數據...並且我不知道如何'ping'設備...

回答

4

串口連接問題是無狀態。你無法知道是否有人正在傾聽或正在傾聽。

要了解這一點,你只是有幾個選擇:

  • 要找出是否有某人使用硬件握手(如RTS,CTS等),如果可能的話。
  • 要了解誰在那裏,你通常送樣的一些識別信息,你知道正確的答案(例如,一個調制解調器,你會送AT,你會收到一個OK

所以,如果你不能使用任何上述方法,你不能自動檢測使用哪個端口,所以唯一的工作模式是詢問用戶正確的設置(例如,帶有可用端口或波特率的ComboBox,不同的CheckBox)布爾配置設置等)

+0

它會添加任何值,它是通過USB? – argh 2010-05-17 12:58:10

+0

不,因爲它最終會顯示爲系統中的另一個串行端口。您可以通過設備管理器查詢設備中的所有設備並檢查DeviceID或類似的東西,但我對這個級別的軟件不太瞭解。 – Oliver 2010-05-17 13:03:30