手把手教你从入门到精通C#串口通信

文章目录


在这里插入图片描述

前言:

串口通信在工业领域用途非常广泛,作者在自动化领域耕耘多年,做过的串口通信的项目大大小小也有几百个,公司项目+兼职项目,可以说只要是串口通信的项目,没有我做不了的,毕竟让我徒手撸一个市面上你见到的串口助手对我而言也不在话下,比如上图你看到的SComToo1.1串口助手就是我写的。古人云读万卷书不如行万里路,行万里路不如名师指路,所以入门最快的方法一定是找个前辈模仿他,年轻的时候一定要投资自己!买书、买课程学习都是你提升自己最快的方法,成为高手别无他法,努力学习+模仿高手,他日一定有所成就!一本书、一个课程几十块钱,但是在未来为你赚到的钱一定是这些成本的几十倍、几百倍、上千倍,甚至更多!如果你是一个普通人,没有强大的背景,一定要持续学习,持续学习是普通人逆袭唯一的方法!如果想精通串口编程,c#基础的语法知识必不可少,订阅我的专栏《C#串口通信从入门到精通》就送《C#本质论》、《C#图解教程》电子书。其次是各种协议比如LRC、CRC、BCC、Modbus 以及自定义的协议,这些知识我都会在我开设的专栏《C#串口通信从入门到精通》中进行详细讲解,总之,只要跟我学了串口通信,一定能打变串口无敌手,由于串口通信使用的特别多,尤其是工业自动化领域和仪器的通信,我先写个简单的串口通信的调试工具软件SComTool1.1给大伙尝尝鲜,帮助大家更好的理解串口通信,当然能写一个串口助手真的不算什么,我问你以下几个问题,你是否都能答上来,才算是一个高手,不然怎么轻松拿三十万+年薪,当然这些知识我都会在我的专栏《C#串口通信从入门到精通》中进行详细介绍。
问题1:位运算是什么?有哪几种?
问题2:LRC、CRC、BCC、汉明校验、累加和校验、 Modbus RTU、Modbus ASCII是啥?
问题3、明明数据发送到了串口,用串口工具为啥接收到的数据乱码,丢帧?
问题4、如何实现数据发送和数据接收同时进行?
问题5、每隔10毫秒接收一组数据,并且要在界面显示,并且要存储到本地文件,怎么实现?
问题6、一个软件要同时和5个串口实现数据收发怎么实现?
问题7、二进制、8进制、十进制、十六进制的转换怎么实现的?
问题8、字符编码是什么?ASCII是啥?UTF8是啥?
问题9、负数在计算机中怎么存储的?
问题10、浮点数在计算机中怎么存储的?
如果我问的上面10个问题你不能全部掌握的话,我建议你还是来我的专栏《C#串口通信从入门到精通》系统学习一下吧!

目前专栏一推出就持续上了CSDN热销榜,并且订阅数量已经达到180人,快来和大家一起跟着博主搞定C#串口通信吧!
在这里插入图片描述

一、《C#串口通信从入门到精通》专栏文章目录

点击下面的文章链接即可转到该文章:

1、C#串口通信从入门到精通(1)——硬件接线

2、C#串口通信从入门到精通(2)——串口相关参数介绍

3、C#串口通信从入门到精通(3)——虚拟串口工具的使用

4、C#串口通信从入门到精通(4)——串口调试助手的使用

5、C#串口通信从入门到精通(5)——打开、关闭串口

6、C#串口通信从入门到精通(6)——串口发送数据(字符串、16进制、图片等文件)

7、C#串口通信从入门到精通(7)——整数/浮点数与二进制、八进制、十六进制之间的转换与C#实现

8、C#串口通信从入门到精通(8)——串口接收数据(字符串、16进制、图片等文件)

9、C#串口通信从入门到精通(9)——二进制、八进制、十进制、十六进制(HEX)、字节、位之间的关系

10、C#串口通信从入门到精通(10)——什么是ASCII、UTF8、Unicode

11、C#串口通信从入门到精通(11)——串口接收的数据存储到本地文件(txt、csv)

12、C#串口通信从入门到精通(12)——串口接收的数据以曲线显示

13、C#串口通信从入门到精通(13)——多个串口发送数据

14、C#串口通信从入门到精通(14)——多个串口接收数据

15、C#串口通信从入门到精通(15)——流量控制(XON/XOFF协议实现)

16、C#串口通信从入门到精通(16)——累加和校验(CheckSum)原理与C#代码实现

17、C#串口通信从入门到精通(17)——纵向冗余校验(LRC)原理与C#代码实现

18、C#串口通信从入门到精通(18)——异或校验(BCC)原理与C#代码实现

19、C#串口通信从入门到精通(19)——模2除法的原理与计算过程

20、C#串口通信从入门到精通(20)——位运算原理

21、C#串口通信从入门到精通(21)——一个串口多线程发送数据

22、C#串口通信从入门到精通(22)——一个串口多线程接收数据

23、C#串口通信从入门到精通(23)——奇偶校验

24、C#串口通信从入门到精通(24)——循环冗余校验(CRC)原理与C#代码实现

25、C#串口通信从入门到精通(25)——整数/小数(浮点数)和字节数组互相转换

26、C#串口通信从入门到精通(26)——多个串口多个线程发送数据和接收数据

27、C#串口通信从入门到精通(27)——高速通信下解决数据处理慢的问题(20ms以内)

二、作者简介

本人2017年硕士毕业,一直从事自动化行业的上位机软件开发,目前以高级工程师的职位任职,年薪三十五万+,串口通信的项目大大小小做过几百个(工作和兼职),我开设的专栏《C#串口通信从入门到精通》也是我多年实战经验总结,学完这套课程,串口通信以后对你都是信手拈来,光串口通信做做兼职,一年几千几万也是轻轻松松。

三、串口助手SComTool1.1介绍

SComTool1.1是我开发的一个串口助手,主要帮助学习《C#串口通信从入门到精通》专栏的学员更好的理解串口通信,当然我的专栏的内容是远远多余这个串口通信助手的,SComTool1.1是锦上添花,SComTool1.1的功能如下

3.1 串口设置

串口设置主要是Com口的选择,波特率、校验位、数据位、停止位的设置,以及打开和关闭串口,关于串口设置中涉及的参数内容参考专栏文章:C#串口通信从入门到精通(2)——串口相关参数介绍、关于打开、关闭串口参考专栏文章:C#串口通信从入门到精通(5)——打开、关闭串口
在这里插入图片描述

3.2 发送设置

3.2.1 手动发送

手动发送就是点击“手动发送”按钮,就会将“发送区”的内容发送出去,只发送一次,关于串口发送,参考专栏文章:C#串口通信从入门到精通(6)——串口发送数据(字符串、16进制、图片等文件)

3.2.2 定时发送

定时发送就是,按照一定的周期时间(周期时间也在软件中可设置,单位为毫秒)循环发送“发送区”的内容,当你点击“停止自动发送”时才会停止自动发送,如下图:
在这里插入图片描述

3.2.3 发送16进制

发送设置中可以选择发送16进制发送,关于16进制参考专栏文章:C#串口通信从入门到精通(9)——二进制、八进制、十进制、十六进制(HEX)、字节、位之间的关系

3.2.4 发送ASCII

发送设置中可以选择发送ASCII字符串,关于ASCII参考专栏文章:C#串口通信从入门到精通(10)——什么是ASCII、UTF8、Unicode、GB2312

3.2.5 清除发送区

点击“清除发送区”按钮即可将发送区的内容全部清空

3.3 接收设置

接收设置区如下图:
在这里插入图片描述

3.3.1 接收16进制

选择该选项可将数据以16进制显示,如下图:
在这里插入图片描述

3.3.2 接收ASCII

勾选该选项后将接收数据以ASCII字符串显示,详细可参考专栏文章:C#串口通信从入门到精通(8)——串口接收数据(字符串、16进制、图片等文件)

3.3.3 存储到本地txt

勾选该选项后,可将接收到的数据存储到txt文件,详细内容可参考专栏文章:C#串口通信从入门到精通(11)——串口接收的数据存储到本地文件(txt、csv)

3.3.4 清空接收区

点击“清空接收区”就会将已经接收到的数据全部清空

3.4 波形设置

关于波形设置详细内容,可参考专栏文章:C#串口通信从入门到精通(12)——串口接收的数据以曲线显示,如果想掌握更多曲线绘制功能的话,请点击该链接学习Winform从入门到精通(18)——Chart(史上最全)

3.4.1 波形起始字节

起始字节指的是从哪个字节开始显示波形:假设接收到了4个字节,我设置了起始字节为2,那么显示波形的时候第一个字节就不显示,从第二个字节开始显示

3.4.2 波形字节个数

波形字节个数指的是显示几条波形:假设一共接收到了4个字节,我设置波形起始字节为1,波形字节个数为2,那么波形就会有两条,并且一条解析的是第1个字节,另一条解析的是第2个字节,如下图:在这里插入图片描述
上图中红色代表波形1,它解析的就是第一个字节的数据;绿色代表波形2,它解析的就是第二个字节。

3.4.3 设置波形宽度

波形宽度指的是波形曲线的宽度,如下图箭头所指:
在这里插入图片描述

3.4.4 显示Y轴数值

该选项设置是否显示每个点的Y坐标值,如下图箭头所指:
在这里插入图片描述

3.4.5 显示点标记

该选项设置是否用“圆形”标记每个坐标点,如下图箭头所指:
在这里插入图片描述

3.4.6 显示波形

该选项如果不勾选,则不显示波形

3.4.7 设置波形颜色

该选项用于设置波形起始字节所在的曲线的颜色,点击“设置波形颜色”会弹出一个颜色设置对话框,如下图:
在这里插入图片描述

四 、源码下载

4.1 如何获取SComTool1.1版本的源码

本文介绍的SComTool1.1版本的源码订阅专栏《C#串口通信从入门到精通》后,私信联系本人或者加入文章最下面的群可获取(提供博客名)
在这里插入图片描述

  • 51
    点赞
  • 217
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 47
    评论
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

c#上位机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值