我是 C# 串口新手...
我有一个虚拟串口驱动程序并尝试这个代码...
private string strPortData = null;
private void okButton_Click(object sender, EventArgs e)
{
if (!serialPort1.IsOpen)
{
serialPort1.Open();
}
string strPortData= "CMD1";
serialPort1.WriteLine(strPortData);
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
textBox1.Text = serialPort1.ReadLine();
}
但不要调用serialPort1_DataReceived。
调用 DataReceived 时我应该做什么?
最佳答案
尝试使用类似于以下的代码创建一个新的控制台应用程序
void Main()
{
using (SerialPort serialPort1 = new SerialPort("COM1"))
using (SerialPort serialPort2 = new SerialPort("COM2"))
{
serialPort1.DataReceived += (sender, args) => {
Console.WriteLine("COM1 Received: " + serialPort1.ReadLine());
};
serialPort2.DataReceived += (sender, args) => {
Console.WriteLine("COM2 Received: " + serialPort2.ReadLine());
};
serialPort1.Open();
serialPort2.Open();
serialPort1.WriteLine("Hello, COM2!");
Thread.Sleep(200);
}
}
上面的代码打开两个串口,设置数据接收事件,并通过它发送数据。如果运行该代码,您应该看到“COM2 Received: Hello, COM2!”输出。
关于c# - C#如何调用串口收到的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944952/