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做为接收事件的委托。
在这里插入图片描述

接收串口数据的委托方法实现,sender对象为串口对象,接收数据后直接向控制台打印数据
在这里插入图片描述
发送数据实现,检查串口是否打开,然后向串口发送数据并且打印到控制台,这样一个简单的串口通信工具类就实现了
在这里插入图片描述

六、SerialPortUtils工具类完整代码


                
  • 8
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值