2010-01-19 50 views
5

我正在通過C#中的串行端口與設備通信的驅動程序。 我並不總是可以使用該設備進行物理測試。有沒有一種方法可以模擬串口上的設備,從而以理想的方式進行響應?如何模擬串行設備?

回答

8

獲取第二個COM端口並使用空調制解調器電纜連接COM端口以允許兩個C#程序相互通信。

6

我用Com0Com一段時間,並寫了一些模擬器/仿真器代碼。

0

在一個設計一些自定義硬件的團隊工作時,我使用了一個叫ZTerm的偉大終端仿真器(我相信只適用於Mac)。它允許您編寫響應文件,使我能夠將軟件完成到我們預先商定的規範,而定製控制器芯片仍處於設計迭代階段。

1

什麼樣的驅動程序?如果它是串行接口驅動程序,那就相當棘手。但是,如果您的驅動程序是Windows設備驅動程序之上的應用程序級別,那麼通過更改傳遞給CreateFile的字符串或該C#使用的頂層上的任何層來替換I ​​/ O行爲是相當容易的。

== ==更多

由於您使用.NET庫工具,這種技術可能太令人討厭的打擾。然而,這個想法是取代你的代碼在某處開放COM1:或其他地方。將其改爲具有模擬數據的文件,例如`c:/com1testdata.txt'。識別文件內容的暫停和/或響應的其他仿真代碼可能對某些協議有用。根據您的要求,寫入端口的數據可以被記錄或忽略。

+0

它是一個應用程序層驅動程序,我只是使用.NET串行工具在端口上發送和接收字符串...你能給我多一點信息嗎? – PICyourBrain 2010-01-19 17:44:46

0

如果您正在虛擬機中運行,您可能可以將某些東西附加到串行端口。例如,QEMU允許您將虛擬串行端口連接到TTY,然後您可以手動或使用主機上運行的程序進行交互。