基于硬件设备进行虚拟串口间通信
前言
当我们使用VSPD虚拟串口通信软件完成了程序功能的实现和测试,在有硬件设备支持的条件下我们还需要连接硬件设备再测试软件功能是否正常,本篇就如何基于硬件环境下实现串口间通信展开说明。
首先我们需要准备一些硬件设备:
USB转485/422转换器两个
导线若干
若电脑不存在驱动程序还需要安装与硬件对应的驱动程序,这里我使用的转换器包装中厂家带有光盘,里有适用于各个操作系统的驱动程序。因此若需要安装驱动程序还需要
USB便携刻录光驱一个
当然,大家也可以去网上搜索其驱动程序选择下载。
安装驱动程序
当我们把转化器插到电脑主机时,在设备管理器中若出现以下的反馈信息则表示我们在使用串口硬件设备进行串口间通信之前还应先下载好其驱动程序。若是正常显示的硬件设备信息,则可以跳过安装驱动程序部分。
这里我以光盘文件为例介绍一下安装驱动的方法,我们需要把光驱连接到主机上,然后打开光盘中的文件如下图所示,打开DVD驱动器可以得到针对于不同操作系统而分类的文件夹。这里我选择Windows操作系统。
打开Windows文件夹后,选择exe文件直接点击安装即可。
驱动程序安装完成后,再在设备管理器查看硬件设备状态,如下图所示识别出COM3、COM4此时就是识别成功了,图中COM6、COM7是使用VSPD创建的虚拟串口,使用起来特别方便。感兴趣可以去查阅我的另一篇文章——基于VSPD进行虚拟串口间通信。
串口间接线规则
- 设备识别成功后,相较于虚拟创建的串口间通信,我们还需要在两个串口间进行正确接线连接。在USB转485/422转换器DB9接口前端连接的接线端子上可以看出五路分别是T/R+、T/R-、RXD+、RXD-、GND。
- RXD:数据输入引脚,数据接受;
- TXD:数据发送引脚,数据发送。
对于RS-232、485、422等不同的串口通信规则,接线方式是不同的,其具体差异我们后面在展开谈论,这里我们以四线全双工通信(RS-422)为例,串口的发送端应该和对向串口的接收端接线,GND不接,接线逻辑如下所示
检测通信质量
接线完成以后,先不要着急用自己写的软件去调试功能,先定位硬件搭建的通信环境是否正常,我们需要将问题排查清楚后在进行调试这是一个很重要的顺序,如下图,笔者接好线并检查后使用串口助手发现串口间怎么也通信不上。遇见问题不要慌,我们先定位问题,现在无非就是哪个串口的收发可能有问题。
我们将刚才的接线断开,在各自的串口上将发送端与接收端相连(T/R+连接RXD+、T/R-连接RXD-),检查串口自身的发送接收是否正常,这样我们发现COM4的收发功能是正常的,COM3却接收不到发送的数据,因此确定了COM3的硬件设备存在硬件问题,需要更换一个串口。
更换掉有问题的串口设备后,按照以上接线和检查方法,通讯是没有问题的。接下来小伙伴们就可以使用软件进行调试了。