2011-03-17 86 views
3

當試圖訪問通過USB端口連接的設備時出現以下錯誤消息。神祕的錯誤消息「端口'COM1'不存在」

端口「COM1」不存在

通過觀察設備管理器,我可以肯定,該設備已經被分配COM1,沒有其他設備連接到COM1。爲什麼會發生這種行爲?

這是依賴於環境的,因爲相同版本的應用程序在不同系統中執行時不會生成此消息。

+2

我想我們不能說很多沒有你告訴我們,你正在使用哪些代碼來訪問設備。 – 2011-03-17 09:43:58

+0

我理解你的觀點,但正如我在帖子中提到的那樣,它不會發生在每個系統中。這就是爲什麼我想知道這是否是一個環境問題。 – 2011-03-17 09:49:19

+0

有沒有辦法查詢USB設備,並檢查它分配給哪個COM端口?我不得不爲自己的舊手機輸入COM端口號,這對我來說似乎總是很糟糕。 – Rup 2011-03-17 10:07:01

回答

2

我的情況是一個非常具體的情況。

發生了什麼事情,有一個以前連接的設備。當它被移除時,建立連接的對象仍然保持在端口上。現在,當插入新設備時,雖然搜索該設備顯示它在COM1中,但試圖打開它會導致此異常,因爲之前仍然存在的對象仍然保留在端口上。

+0

只是想補充一點......我正在爲Trimble手持設備開發調查軟件,這些軟件可以通過串口調查轉接單元。我的東西一直在工作,然後突然間我得到了「COM1:不存在」的錯誤。事實證明,該設備以前曾經使用過,有些很久以前就已經打開,但仍然在內存中,一塊本地Trimble軟件(它們用於該設備類型的通用軟件套件)持有該端口。不久我終止了任務管理器中的進程,我的工作很好, – BikeMrown 2011-07-06 20:50:36

+0

@BikeMrown:據我所知,問題發生是由於進程/線程持有COM設備。我在某處讀過,有時會由於設備驅動程序本身的錯誤而發生。 – 2011-07-07 07:23:29

0

目前我不知道.Net想要什麼,但回到舊的C/C++日子裏,你必須打開COM1:(注意端口名稱後的冒號)。

+0

端口命名不成問題。 – 2011-03-17 13:59:36