SerialDataReceivedEventHandler不起作用

时间:2016-06-29 08:12:21

标签: c# serial-port port


我写信给你是因为我试图让我的C#应用​​程序通过串口与freescale nxp板通信。
串口似乎有效,因为如果我用PuTTY或白蚁连接到电路板,我可以毫无问题地发送和接收数据 现在,在我的C#应用​​程序中,我使用System.IO.Ports库来处理串行端口。我写了一些发送数据的方法,它们工作正常:freescale nxp board接收数据并做一些事情。我还写了一些方法来接收数据,方法是将事件DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)附加到DataReceived类别(我称之为SerialPort)的属性mySerialPort,但他们只是“#{1}}工作。
我还尝试使用断点运行我的代码,以确保它不起作用(并且它不起作用)。

我附上我的代码:

using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SERIAL_COMMUNICATION
{
    class Program
    {
        public static void Main()
        {
            SerialPort mySerialPort = new SerialPort("COM3");

            mySerialPort.BaudRate = 9600;
            mySerialPort.Parity = Parity.None;
            mySerialPort.StopBits = StopBits.One;
            mySerialPort.DataBits = 8;
            mySerialPort.Handshake = Handshake.None;
            mySerialPort.RtsEnable = true;

            mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

            mySerialPort.Open();

            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.WriteLine("Data Received:");
            Console.Write(indata);
        }
    }
}

谢谢大家帮助我!

0 个答案:

没有答案