`

C#串口发送接受数据

    博客分类:
  • C#
阅读更多
发送串口数据:

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

namespace SendData
{
    class Program
    {
        static void Main(string[] args)
        {
            SerialPort port = new SerialPort();

            Console.WriteLine("串口(如COM1):");
            port.PortName = Console.ReadLine();

            Console.WriteLine("波特率:");
            port.BaudRate = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("数据位:");
            port.DataBits = Convert.ToInt32(Console.ReadLine());

            int stopBits = 0;
            Console.WriteLine("停止位:");
            stopBits = Convert.ToInt32(Console.ReadLine());
            switch (stopBits)
            {
                case 0:
                    port.StopBits = StopBits.None;
                    break;
                case 1:
                    port.StopBits = StopBits.One;
                    break;
                case 2:
                    port.StopBits = StopBits.Two;
                    break;
                default:
                    port.StopBits = StopBits.None;
                    break;
            }

            try
            {
                port.Open();
                string sendData="";
                bool exitFlag=false;
                while (exitFlag == false)
                {
                    Console.WriteLine("要发送的数据:");
                    sendData = Console.ReadLine();
                    if (sendData.CompareTo("exit") == 0) 
                        break;
                    else
                        port.WriteLine(sendData);
                }
                port.Close();
            }
            catch(Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }
    }
}
接受串口数据:

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

namespace RecvData
{
    class Program
    {
        static void Main(string[] args)
        {
            SerialPort port = new SerialPort();

            Console.WriteLine("串口(如COM1):");
            port.PortName = Console.ReadLine();

            Console.WriteLine("波特率:");
            port.BaudRate = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("数据位:");
            port.DataBits = Convert.ToInt32(Console.ReadLine());

            int stopBits = 0;
            Console.WriteLine("停止位:");
            stopBits = Convert.ToInt32(Console.ReadLine());
            switch (stopBits)
            {
                case 0:
                    port.StopBits = StopBits.None;
                    break;
                case 1:
                    port.StopBits = StopBits.One;
                    break;
                case 2:
                    port.StopBits = StopBits.Two;
                    break;
                default:
                    port.StopBits = StopBits.None;
                    break;
            }

            try
            {
                port.Open();
                bool exitFlag = false;
                int n = 0;
                while (exitFlag == false)
                {
                    Console.WriteLine(port.ReadLine());
                    n++;
                    if (n == 999999)
                    {
                        Console.WriteLine("是否继续?(y/s)");
                        string ans = Console.ReadLine();
                        if (ans.CompareTo("y") == 0)
                            exitFlag = true;
                        else
                            n = 0;
                    }
                }
                port.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }
    }
}

 

分享到:
评论

相关推荐

    c# 串口发送数据 c# 串口发送数据

    根据提供的压缩包文件名"ComPortsTest",可能包含了一个示例项目或代码,该示例可能演示了如何在C#中建立串口通信,包括选择串口号、设置参数、发送和接收数据等步骤。 10. **异常处理** 串口通信可能会遇到各种...

    C#实现串口发送接收数据

    总结来说,C#实现串口发送接收数据涵盖了从基本串口配置到数据传输协议的多个层次。理解并掌握这些知识对于进行设备间通信、嵌入式系统开发或物联网应用是至关重要的。通过实践和学习提供的项目文件,开发者可以...

    C# serialport 串口发送与接收数据操作类

    C# 串口发送与接收数据操作类详解 C# SerialPort 串口发送与接收数据操作类是指通过使用 C# 语言中的 SerialPort 类来实现串口的发送和接收数据操作。该类提供了完整的串口操作功能,包括串口的打开、关闭、发送...

    c#实现串口发送和接收

    与标题和描述提到的“C#串口发送和接收”似乎并无直接关联,但我们可以从串口通信的角度出发,结合这部分代码的逻辑,探讨如何在C#中实现串口的发送和接收功能。 ### C#中的串口发送与接收 #### 1. 引入命名空间 ...

    C#串口发送接收程序 C#串口发送接收程序

    ### C#串口发送接收程序知识点详解 #### 一、串口通信基础知识 在深入了解C#串口发送接收程序之前,我们先来了解一些串口通信的基础知识。 **串行通信**是一种数据传输方式,其中数据是按顺序一位一位地传输的。...

    C#异步数据接收串口操作

    在C#中,可以通过串口发送AT指令,等待响应,解析返回结果来实现短信的发送。例如,发送一条短信的AT指令可能为"AT+CMGS='电话号码'\r\n短信内容",然后监听串口接收AT命令的回应,确认短信发送成功。 在"smsForC#...

    C#串口数据接收

    6. **界面设计**:描述中提到的“串口助手”风格的应用,通常会有显示接收数据的文本框,发送数据的输入框以及发送按钮。这些元素可以通过Windows Forms或WPF进行设计,与SerialPort类交互以实现数据的实时显示和...

    C# 串口数据接收与发送 示例源码

    例如,为了确保串口操作的线程安全,可以在发送或接收数据时加锁: ```csharp object lockObj = new object(); private void SendData(string data) { lock (lockObj) { if (serialPort.IsOpen) { serialPort...

    SerialPort.rar_C# 串口ASCII_C#串口发送ASCII_串口通信程序_用C

    用C#编写的用ASCII码发送的串口通信程序

    C# 串口通信(彻底解决C#串口通信中的数据丢失问题)

    ### C#串口通信详解与数据丢失问题的解决方法 #### 概述 串口通信是一种常见的设备间数据传输方式,在工业控制、自动化测试等领域应用广泛。然而,在使用C#进行串口通信开发时,很多开发者都遇到过数据丢失的问题...

    C#版串口通信编程(接收和发送数据)

    `将向串口发送字符串。 4. **接收数据**: - 使用`SerialPort.Read()`或`SerialPort.ReadLine()`方法接收数据。`Read()`读取单个字符或指定长度的数据,`ReadLine()`则读取到换行符为止的一整行。 - 可以注册`...

    c# 串口类 纯异步接收

    `System.IO.Ports.SerialPort`是.NET Framework提供的一个类库,它为开发者提供了一套方便的API来操作串行端口,包括打开、关闭、设置波特率、数据位、停止位、校验位等配置,以及发送和接收数据。 1. **异步接收...

    C#串口通信 连接串口并发送字符

    总结来说,C#中的串口通信涉及创建SerialPort对象、配置串口参数、设置事件处理程序、打开和关闭串口以及发送和接收数据等步骤。通过以上步骤,你可以实现与硬件设备之间的双向通信,为你的应用提供基础的串口交互...

    C#上位机串口接收数据并绘图

    综上所述,通过C#上位机编程,我们可以实现串口通信,接收下位机(如FPGA频率计)发送的数据,并利用绘图功能将这些数据实时展示为曲线图表。这个过程涉及到了C#的基础编程、串口通信技术、上位机编程原理以及数据...

    基于unity3D串口通信程序,可以实现发送接收。C#编写。

    例如,我们可以创建一个SerialPort类,封装串口操作的方法,如打开、关闭串口,设置波特率、数据位、停止位等参数,以及发送和接收数据的函数。 在Unity中实现串口通信,需要引用System.IO.Ports命名空间,其中包含...

    基于C#的rs232发送和接收数据

    5. **接收数据**:DataReceived事件处理函数中,通常会使用SerialPort对象的ReadLine()或ReadExisting()方法读取接收到的数据。 ```csharp private static void DataReceivedHandler(object sender, ...

    C#串口发送数据上位机简单案例

    这个简单的C# Winform串口发送数据案例展示了如何在Windows环境中创建一个交互式的串口通信工具。通过学习和实践这个案例,你可以了解串口通信的基础知识,并为更复杂的嵌入式系统开发打下基础。对于标签中提到的STM...

    C#串口调试工具源码,C#串口调试助手,C#

    2. **发送消息**:通过SerialPort类的Write()方法,我们可以向串口发送字符串或字节数组。例如,发送字符串"Hello, World!": ```csharp port.Write("Hello, World!"); ``` 3. **接收消息**:使用SerialPort类的...

    c#中串口接收数据并且生成EXCEL

    本教程将深入探讨如何在C#中实现串口接收数据,并将接收到的数据整理成Excel表格。 首先,我们需要导入`System.IO.Ports`命名空间,这个命名空间包含了处理串口通信所需的所有类。接着,我们可以创建一个`...

    c#两串口通讯,定时发出数据,接收数据处理并将其输出到chart图表上(折线图),最后保存图表。

    在本文中,我们将深入探讨如何使用C#进行串口通信,以及如何实现定时发送数据、接收数据处理、在Chart图表上展示数据,并最终保存图表。串口通信是计算机硬件之间交换数据的一种常见方式,尤其在嵌入式系统和工业...

Global site tag (gtag.js) - Google Analytics