翼度科技»论坛 编程开发 .net 查看内容

C#串口通讯实战:基础功能及高效数据传输

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
 
概述:C#串口通讯示例展示了基本功能,包括打开/关闭串口、设置属性、发送和接收数据。通过SerialPort类实现,可根据需求扩展更复杂的串口通讯应用。
最近有项目应用到串口通讯,网上找到一个C#写的调试工具,如下图:
 
需要的文末可下载。下面我再讲一下串口通讯的基本应用:
在C#中进行串口通讯通常涉及到一些基本的功能,如打开串口、发送数据、接收数据等。以下是一个简单的例子,演示了C#中串口通讯的基本功能。
常用功能:


  • 打开和关闭串口: 使用SerialPort类的Open()和Close()方法。
  • 设置串口属性: 包括波特率、数据位、停止位、校验位等。
  • 发送数据: 使用Write()方法发送数据到串口。
  • 接收数据: 通过事件处理程序处理DataReceived事件,使用ReadExisting()等方法读取接收到的数据。
示例源代码:
  1. using System;
  2. using System.IO.Ports;
  3. class SerialCommunicationExample
  4. {
  5.     static SerialPort serialPort;
  6.     static void Main()
  7.     {
  8.         // 初始化串口对象
  9.         serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
  10.         // 注册DataReceived事件处理程序
  11.         serialPort.DataReceived += SerialPort_DataReceived;
  12.         try
  13.         {
  14.             // 打开串口
  15.             serialPort.Open();
  16.             // 发送数据
  17.             SendData("Hello, Serial!");
  18.             Console.WriteLine("Press any key to exit.");
  19.             Console.ReadKey();
  20.         }
  21.         catch (Exception ex)
  22.         {
  23.             Console.WriteLine("Error: " + ex.Message);
  24.         }
  25.         finally
  26.         {
  27.             // 关闭串口
  28.             if (serialPort.IsOpen)
  29.             {
  30.                 serialPort.Close();
  31.             }
  32.         }
  33.     }
  34.     // 发送数据到串口
  35.     static void SendData(string data)
  36.     {
  37.         if (serialPort.IsOpen)
  38.         {
  39.             serialPort.Write(data);
  40.             Console.WriteLine("Data sent: " + data);
  41.         }
  42.     }
  43.     // 串口数据接收事件处理程序
  44.     static void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
  45.     {
  46.         if (serialPort.IsOpen)
  47.         {
  48.             // 读取接收到的数据
  49.             string receivedData = serialPort.ReadExisting();
  50.             Console.WriteLine("Data received: " + receivedData);
  51.         }
  52.     }
  53. }
复制代码
这个例子创建了一个简单的串口通讯应用。通过实例化SerialPort对象,设置串口属性,注册事件处理程序,打开串口并发送、接收数据,展示了串口通讯的基本流程。在实际应用中,需要根据具体需求进一步处理异常、优化性能等。
 


来源:https://www.cnblogs.com/hanbing81868164/p/17969239
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具