C#实现2台设备之间的简单串口通信

该文提供了一个使用C#实现的串口通信示例,通过SerialPort类在两台电脑间进行数据的双向发送和接收。程序在发送端和接收端分别打开串口,设置相同的参数(如COM1,9600波特率),并不断监听和回应接收到的数据。
摘要由CSDN通过智能技术生成

要实现双向的数据发送和接收,你需要在发送端和接收端分别编写程序,并通过串口进行通信。下面是一个简单的示例,展示了如何在两台电脑之间进行双向数据传输:
发送端控制台程序(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();
            }
        }
    }
}

串口参数可以在设备管理器中,找到串口属性进行设置。一般默认就行,就在代码里改下串口名即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值