2016-02-22 83 views
1

我在一兩年前在Windows 8或Windows 8.1中製作了一個簡單的程序,它提供了Arduino Uno和我的C#表單應用程序之間的串行端口連接。首先我檢查所有打開的COM端口,並獲得這些端口的連接選擇。要做那些工作代碼就像那些日子下面給出的那樣;C#SerialPort GetPortNames在Windows 10上無法正常工作

private void portCheck_Click(object sender, EventArgs e) 
     { 
      foreach (string item in System.IO.Ports.SerialPort.GetPortNames()) 
      { 
       //store the each retrieved available port names into the Listbox...  
       if (!portBox.Items.Contains(item)) 
       { portBox.Items.Add(item); } 
      } 
     } 

我沒有打開這個程序很長一段時間,現在我格式化我的電腦,並與Windows 10教育進行乾淨的安裝。當我運行這個項目時,我意識到程序沒有找到任何開放的COM端口。它不會進入foreach循環,只是System.IO.Ports.SerialPort.GetPortNames()不會返回任何端口名稱。 我做了一些研究,並在Windows 10中瞭解了這種情況。 人們對串行連接提供了完全不同的解決方案。 我不想重寫整個項目。那麼有沒有人知道這個問題?有沒有簡單的解決方案?

回答

0

確定升級到Windows 10後串口本身是否正常工作?

  • 是否出現在設備管理器中?
  • 它是否出現在HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM(哪裏是SerialPort.GetPortNames()獲取其信息)的註冊表中?

有趣的是,我認爲,使用SerialPort.GetPortNames()來枚舉串口軟件,它工作正常的Windows 10

0

這是一個古老的線程,但因爲它沒有解決,因爲我只是在一臺新的Win10筆記本電腦上遇到同樣的問題,我想我會分享我的解決方案。我終於明白,我必須從Silicon Labs下載VCP驅動程序,並且在運行x64安裝程序後,所有工作都正常進行。 我不認爲我必須在我的Win7筆記本電腦上這樣做,所以這是Win10帶來的不便。

相關問題