C# 串口通讯 串口调试助手源码
本帖最后由 lvyiwuhen 于 2023-3-4 19:47 编辑工业控制类软件,Windows平台使用C#语言既方便又快捷。在工控领域,串口通讯又是极其常见的需求。于是抽时间写了一个通用的串口调试助手工具,并将工控调试中常用的功能集成在上面,方便调试。源码已在gitee上开源,界面使用wpf实现.文末附项目开源地址。
简单介绍一下已实现的功能。
程序功能主要分为四大块:
[*]串口通讯
[*]TCP通讯
[*]小工具
[*]支持中英文双语切换
[*]检查版本更新
[*]支持添加快捷命令
[*]支持数据实时曲线显示
一、串口通讯
串口通讯详细功能:
1.后台自动检测串口设备的增减。
2.支持流控。
3.接收发送编码方式同时支持ASCII和HEX方式
4.ASCII模式时,可设置结束符,例如回车换行等。
5.HEX模式时,支持自动计算标准ModbusRTU的CRC16。
6.发送支持循环发送。
7.接收区显示支持显示发送和显示接收,并可设置发送和接收的字符串颜色。
8.接收区显示支持显示发送和接收的时间,时间格式可自定义。
9.底部显示串口状态,总接收字节数和总发送字节数。各字节数可手动清零。
10.接收区字符串可一键清空。
11.记录发送历史,支持记录最新的10条历史记录。
12.可将接收区显示的字符实时保存到本地txt文档。
13.曲线图表可以以曲线的形式实时显示接收的数据
二、TCP通讯
TCP通讯详细功能
1.支持TCP Client/TCP Server
2.TCP Server时,可显示当前连接客户端列表。
3.TCP通讯采取异步方式通讯。
4.支持串口通讯功能中的3-13项
5.不支持TCP连接断开的自动侦测。
三、小工具
包含的小工具介绍:
1.通用校验方法中包含常用的LRC,XOR,CheckSum,FCS,Modbus-CRC16等校验的计算。
2.数据转换包含整数和小数与16进制HEX的转换。
3.图片与base64互转。
4.数据采集中常用的模拟量与工程量转换计算。
5.ASCII码表。
6.C# 颜色对照表。
7.拾取屏幕颜色。该功能使用鼠标hook实现。通过hook技术可实现拦截或者修改键盘鼠标等的操作,对于有这方面需求的可以参考。
四、检查更新1.检查更新方式:利用gitee作为更新检查的服务器,将版本号和下载连接写在gitee项目文件中,实现自动检查更新并提供下载连接的功能
五、快捷命令列表
对于调试时,常用的命令可以在此处设置,方便快速调试。
六、文章gitee开源地址https://gitee.com/LvYiWuHen/byserial 本帖最后由 lvyiwuhen 于 2023-3-21 13:53 编辑
myBB2FHM 发表于 2023-3-21 06:15
如果我用下位机通过串口给上位机发送了中文的编码,串口软件怎么成功显示出来中文啊,我一直不会这个{:1_93 ...
电脑端串口软件支持UTF-8/GBK解码,你下位机将中文用UTF-8/GBK编码后发送,这样电脑端串口助手就可以显示中文了。
不过一般的串口调试软件是不支持中文的,我之前有过一次想支持串口显示中文的,后来想想串口通讯用中文的少,就去掉了,反而给TCP通讯加上了UTF-8编码支持。
你可以打开我的开源源码,原来的代码在选中TCP通讯时,UTF-8才出现,你改一下让它始终出现,然后串口接收代码里面,给解码方式增加一个UTF-8解码,然后你下位机记得发送给上位机之前,先将中文以UTF-8编码一下。 lvyiwuhen 发表于 2023-3-6 14:52
很多上位机都是通过串口和设备通讯,所以有吾友这样说也正常。
多谢modbus提议,我会考虑一下。
现在基本都是以太网的了。如果直接和仪表通讯基本就是标准的modBusTcp,只有老的设备采用modbusRTU了..所以加上之后这个软件功能就基本齐全了。等你下一版。 上位机利器啊 感谢分享 win7 64 打不开 大神能不能发一个成品呀?感谢!!! JcZhang 发表于 2023-3-1 22:19
.net版本不对吧
{:1_893:}安装4.8后可以了。 又一个串口调试助手,强! jack_cc 发表于 2023-3-1 22:30
大神能不能发一个成品呀?感谢!!!
gitee上有成品,在项目主页右侧有个发行版项,里面就有成品下载连接