我写信给你是因为我试图让我的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);
}
}
}
谢谢大家帮助我!