我從頭開始嘗試編寫一個簡單的控制檯來與Windows 7計算機上的串行端口進行接口。C#Visual Studio控制檯串行接口
我使用:
- 的Visual Studio 2010旗艦版
- C#控制檯項目
- 代碼:http://pastebin.com/0ADaEiSY
代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
namespace ConsoleApplication1
{
class Program
{
public static void Main()
{
SerialPort mySerialPort = new SerialPort("COM5");
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
mySerialPort.Open();
mySerialPort.Write("This is a test");
Console.WriteLine("Press any key to continue...");
Console.WriteLine();
Console.ReadKey();
mySerialPort.Close();
}
private static void DataReceivedHandler(
object sender,
SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.Write(indata);
}
}
}
到目前爲止,我已經跑了這個c並與連接到我的電腦的xbee模塊連接。該xbee模塊將串行數據發送到連接到msp430的另一個xbee。 msp430被編程爲接收它所收到的任何內容並將其回顯。這與我有的代碼一起工作。在我的控制檯中,我會得到「這是一個測試」回到控制檯窗口。
問題我有當我使用虛擬串行連接到膩子窗口。我正在使用它來嘗試簡化開發,而不必一直使用硬件。我將使用HHD Free Virtual Serial Ports在兩個串行端口之間創建橋接連接。我將連接一個到膩子終端,另一個將用於我的控制檯程序。運行程序時,我收到錯誤。
「類型 'System.TimeoutException' 的第一次機會異常在System.dll中發生」 就行
mySerialPort.Write( 「這是一個測試」);
但是「這是一個測試」將出現在膩子終端上。 如果我刪除了「mySerialPort.Write(」This is a test「);」並嘗試將數據從Putty窗口發送到控制檯窗口,則不顯示任何內容。
這再一次適用於我的硬件解決方案。
請幫助,我會盡力澄清任何問題。再次感謝你。
謝謝您的回答取代
!你碰巧有一個這樣的電纜或轉換器,你在談論的鏈接?或者,您是否知道可以使用的軟件解決方案? – ridonkulus
這個軟件如果對我來說工作的很好:http://www.virtual-null-modem.com/至於硬件靈魂,這裏是其中之一:http://www.ebay.com/itm/6-Null - 有線電視-6英尺-串行電纜DB9-9管腳女-RS232-調制解調器電纜數據電纜 -/181239097234 – Tony