要实现双向的数据发送和接收,你需要在发送端和接收端分别编写程序,并通过串口进行通信。下面是一个简单的示例,展示了如何在两台电脑之间进行双向数据传输:
发送端控制台程序(Sender):
using System;
using System.IO.Ports;
namespace SerialPortReceiver
{
class Program
{
static void Main(string[] args)
{
SerialPort serialPort = null;
try
{
serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
serialPort.Open();
Console.WriteLine("等待接收数据...");
while (true)
{
// 接收数据
string data = serialPort.ReadLine();
Console.WriteLine("已接收:" + data);
// 回复数据
string reply = "已收到数据:" + data;
serialPort.WriteLine(reply);
}
}
catch (Exception ex)
{
Console.WriteLine("发生异常:" + ex.Message);
}
finally
{
// 关闭串口
if (serialPort != null && serialPort.IsOpen)
{
serialPort.Close();
}
}
}
}
}
接收端控制台程序(Receiver):
using System;
using System.IO.Ports;
namespace SerialPortReceiver
{
class Program
{
static void Main(string[] args)
{
SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
serialPort.Open();
Console.WriteLine("等待接收数据...");
try
{
while (true)
{
// 接收数据
string data = serialPort.ReadLine();
Console.WriteLine("已接收:" + data);
// 回复数据
string reply = "已收到数据:" + data;
serialPort.WriteLine(reply);
}
}
catch (Exception ex)
{
Console.WriteLine("发生异常:" + ex.Message);
}
finally
{
// 关闭串口
serialPort.Close();
}
}
}
}
串口参数可以在设备管理器中,找到串口,属性进行设置。一般默认就行,就在代码里改下串口名即可。
该文提供了一个使用C#实现的串口通信示例,通过SerialPort类在两台电脑间进行数据的双向发送和接收。程序在发送端和接收端分别打开串口,设置相同的参数(如COM1,9600波特率),并不断监听和回应接收到的数据。
1165

被折叠的 条评论
为什么被折叠?



