无法从COM4端口C#

时间:2017-12-25 11:57:01

标签: c# .net winforms serial-port

我试图从COM端口读取数据,但我一直坚持这个问题。 我们有一些在COM4端口上运行的USB串口设备,我们有一些预定义的命令要执行,还有一些预定义的输出。

我们的要求是将命令发送到COM4端口并读取结果。

我在这里尝试过:

class Program
{
 [STAThread]
 static void Main(string[] args)
 {  
     string cmd = "PING";

     SerialPort mySerialPort = new SerialPort("COM4");

     mySerialPort.BaudRate = 115200;
     mySerialPort.Parity = Parity.None;
     mySerialPort.StopBits = StopBits.One;
     mySerialPort.DataBits = 8;
     mySerialPort.Handshake = Handshake.None;
     mySerialPort.DtrEnable = true;    
     mySerialPort.RtsEnable = true;    
     mySerialPort.Open();
     mySerialPort.Write(cmd);

     mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

     Console.WriteLine(mySerialPort.ReadChar());
     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 data = sp.ReadExisting();
    Console.WriteLine(data);
}  

但它被黑色控制台屏幕困住,即使DataReceivedHandler未被调用,也无法从COM4端口获取任何内容。

我经历了许多类似的话题:

.NET SerialPort DataReceived event not firing

How to Read and Write from the Serial Port

还有很多,但到目前为止还没有运气。

我在这里错过了什么吗?

P.S:它正在使用RealTerm应用程序,我们传递相同的命令并能够获得输出

0 个答案:

没有答案