第一次接触上位机的开发,单纯是为了玩一下,浅度学习,参考了一下其他文章,做了一个简单的串口助手,算是迈出了第一步。写博客记录一下学习的过程。
第1步:创建一个Window窗体应用(.NET Framework)
我安装的是vs2019版本。

第2步:配置项目
提示:框架要选.NET Framework 4以上,如果没有,先确认项目选的是不是Window窗体应用,再确认是否安装NET Framework。

我们先利用控件把串口助手的界面搭建出来。
提示:我们用到的控件都在工具箱里面。

我这里主要用了以下几个控件:
提示:控件名称是一个比较关键的参数,因为后面的代码要根据名称来写。
先把控件从工具箱里面拉出来,调整好大小和布局。
提示:TextBox要自由调整窗口大小的话需要把属性里面的MultiLine设置为True。

修改控件属性里面的Text,串口助手的界面就出来了。

再添加serialPort和Time控件,这两个是隐藏的控件,在窗口下方,实际运行的时候是看不见的。

选择波特率对应的comboBox控件,在Items属性里面添加常用的波特率。

提示:可以双击控件窗口打开代码,也可以选中From,右键,选中查看代码

在实际应用中,最常用到的代码在Form1.cs和Form1.Designer.cs两个文件中。
注:Form1是新建窗体默认的名称,实际使用也可能不是这个名字。
1、端口更新函数
这个函数是自定义的,需要自己添加进去
引用命名空间System.IO.Ports:
因为上面调用了SerialPort.GetPortNames()函数,需要引用这个命名空间才能使用

2、启动窗口加载函数
在默认启动函数里添加以下代码:

提示:函数名不一定是Form1,这个函数名和自己的使用的窗体名称是一致的
3、"打开串口"按键回调函数
4、"清除接收"按键回调函数
5、"发送"按键回调函数
6、串口接收函数
点击serialPort控件,在该控件的事件里面有一个DataReceived事件,双击它会生成一个数据接收的空函数

在函数里面添加以下代码:
7、定时器中断回调函数
在timer控件的属性里面打开使能,设置定时时间为500ms

双击timer控件,会自动生成一个空函数
在函数里面添加以下代码:
最后再贴一个完整的代码:
提示:不能直接跳过前面的步骤直接把完整的代码拷贝过去,因为前面双击控件的操作不仅仅是生成空函数,也会在Designer里面添加对应的事件,如果直接拷贝就不会产生事件。当然,如果非要这样操作也不是不行,只要在Form1.Designer.cs文件里面把每个控件对应的事件加上即可。
在vs里面调试运行结果如下:

我这里连接了一个树莓派,数据收发测试正常
如果需要在其他PC端运行,可以把工程目录下bin文件里面的Debug拷贝出来,运行exe文件即可,不需要再安装vs

简单的做了一个串口助手,总体来说其实不难,不熟悉C#语法也没关系,我也是第一次接触C#,根据C语言的经验去摸索,代码基本都能看的懂,有些语法也是即学即用的。好了,关于这一讲的内容就到这里,如果有什么问题,欢迎在评论区留言讨论,谢谢。
源码下载:https://download.csdn.net/download/ShenZhen_zixian/
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2457.html