C# SerialPort连接串口,读写串口数据

C# SerialPort连接串口,读写串口数据

一、起始

最近在公司做上位机,上位机要求是能够读取一款支持串口通信的传感器并且把传感器的数据用图表显示出来,且上位机能对传感器发送指令,需求有涉及到串口通信和绘制图表。

那么首先要解决的问题就是能够让电脑上的程序进行串口通信,有串口通信的编程语言有很多,C++,C#,JAVA,Python等语言都是支持串口通信的。我选择了使用C#,因为上位机主要是在Windows操作系统上运行,而C#对于winodws桌面应用的开发支持是比较方便的,功能也比较强大,尤其是WPF程序,做出来的UI页面比较好看

那么本篇内容就介绍c#程序怎么实现串口通信

二、工具准备

开发工具:Visual Studio 2019 Community
开发工具下载:免费的 IDE 和开发人员工具 | Visual Studio Community
维特智能姿态角度传感器JY901模块1
USB-TLL模块
1、杜邦线*1
在这里插入图片描述

三、新建项目

1.新建项目,选择WPF应用程序,你可能会发现两个 WPF 桌面模板,一个用于 .NET Framework,另一个用于 .NET Core。 .NET Core 模板在 Visual Studio 2019 16.3 及更高版本中可用。 你可以在本教程中使用任何一个,但建议使用 .NET Core 进行新的开发。
在这里插入图片描述
2.在下一屏幕中指定“项目名称”和选择“项目路径”,然后点击“创建”
在这里插入图片描述

四、添加串口通信引用

1.右击项目解决方案“管理NuGet程序包”,搜索“Ports”关键字,添加System.IO.Ports引用。System.IO.Ports包是.Net 2.0以来集成的免费的串口通信包,
在这里插入图片描述

五、建立串口通信工具类

创建SerialPortUtils工具类,为了后面能够方便的操作串口我们先实现一个串口操作的工具类,串口通信中用到最多的操作就是“搜索串口”,”打开/关闭串口“,”接收数据“,“发送数据”,我们可以先实现以上操作的方法。
在这里插入图片描述

搜索串口实现,搜索串口可以直接调用SerialPort类的GetPortNames方法,该方法会返回一个串口名称的string数组。
在这里插入图片描述

打开关闭串口实现,这里传入“串口名称”和“波特率”参数打开串口,如果有需要其他参数可以修改方法参数。打开串口后把ReceiveData做为接收事件的委托。

  • 8
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在虚拟机(VC)中使用串口Serial Port)下载可以通过SerialPort类实现。SerialPort类是C#编程语言中的一个类,专门用于操作计算机的串口设备。在使用SerialPort类进行串口下载之前,我们需要先引入System.IO.Ports命名空间,该命名空间中包含了与串口相关的类。 首先,我们需要创建一个SerialPort的实例对象,可以通过以下代码实现: SerialPort serialPort = new SerialPort(); 接着,我们需要设置串口的相关属性,例如波特率(BaudRate)、数据位(DataBits)、停止位(StopBits)、校验位(Parity)等。这些属性的值需要根据具体的串口设备配置进行设置。例如,波特率通常可以设置为9600,数据位为8位,停止位为1位,校验位为无校验。设置属性的代码示例如下: serialPort.BaudRate = 9600; serialPort.DataBits = 8; serialPort.StopBits = StopBits.One; serialPort.Parity = Parity.None; 接下来,我们需要打开串口。在下载之前,我们还需要设置好其他一些参数,例如读取和写入的超时时间(ReadTimeout和WriteTimeout)。最后,我们可以调用SerialPort类的Open方法打开串口,从而准备进行下载操作。 serialPort.ReadTimeout = 1000; // 读取超时时间设置为1秒 serialPort.WriteTimeout = 1000; // 写入超时时间设置为1秒 serialPort.Open(); 现在,串口已经打开并配置好了相关参数,我们可以对SerialPort对象进行读写操作。下载的具体实现方式需要根据具体需求和设备的通信协议来确定,可以使用SerialPort类的Read和Write方法进行数据的接收和发送。 最后,在下载完成后,我们需要关闭串口。可以通过调用SerialPort类的Close方法关闭串口serialPort.Close(); 综上所述,通过VC和SerialPort类可以实现串口下载操作。通过配置SerialPort类的相关属性和方法,可以实现串口设备的读写操作,完成下载任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值