USB转串口设备实现PC端与开发板连通

目录

一、物理连接

1、两种USB转串口设备

2、杜邦线连接 

二、PC端操作

1、设备检测与驱动安装

2、软件连接

3、常见问题

三、总结

串口是市面上大部分单片机和开发板与其他设备相互交互的主要方式,但是现在有配置串口的的主机,笔记本却越来越少了,但它们通常都会配置USB接口,于是USB转串口设备应运而生,那么如何利用USB转串口设备实现PC与开发板连通呢?

一、物理连接

1、两种USB转串口设备

其实一些USB转串口线根本没必要我们自己安装,他们本身就是一个整体,优点是易于整理,不易弄丢🤣🤣🤣,如下图所示:

但是这种线缺点也很明显,一旦某根线杜邦线有问题,就得跟换整根USB串口线,或者自己慢慢拆线更换。一般我们常用也是下图这种CH340的USB转串口设备,它的优点便是能随时更换杜邦线,便于适配不同环境。

2、杜邦线连接 

以上图CH340的USB转串口设备为例,根据不同设备标注的适配电压将选择跳帽移到相应位置,上图为连接5V电压,如果要连3.3V电压只需把跳帽向下移动一引脚。当两个设备使用以UART(USB转串口)进行通信时,它们至少通过三根导线连接:TXD发送数据、RXD接收数据、GND(地线),将他们与开发板对应位置相连即可。VCC线主要用于电源供应,但大部分开发板都会配套充电器,所以主要还是依靠前面三线。其中的重点是不要接反!不要接反!不要接反!否则会导致串口无响应。标准接线图如下:

二、PC端操作

1、设备检测与驱动安装

当物理线路连接好后,鼠标右键点击win/start键

然后再点击设备管理器

查看你连接的串口号,如果用这个串口号可以直接连到开发板,那就不用安装或更新驱动。否则进行接下来的步骤2,右键点击COM6(以COM6为例),点击更新驱动

点击浏览我的电脑以查找驱动程序

点击从可用驱动选取

如果有对应类型的驱动,可以直接点击,然后点下一步进行安装

如果没有对应类型的驱动,则需要网上下载进行安装。

以CH340为例子,先进入官方驱动网站

https://www.wch.cn/download/CH341SER_EXE.html

然后查看具体适配版本信息,点击下载安装

在安装成功后我们就能在之前的位置看到新的驱动了(没看到刷新或重启一下电脑)

2、软件连接

PC上连接开发板的软件也很多,这里以Xshell为例,我们先点击新建会话,然后在弹出的窗口将连接协议改为SERIAL(串行通信协议),名称随你喜欢,一般可改为相应串口号。

接着点击到串口界面,端口号改为对应端口号,最后点击连接即可。

3、常见问题

理论上到上一步就已经完成了,但不同的驱动与USB转串口设备默认属性可能也不同,所以可以回到设备管理器鼠标双击对应端口进行查看与修改。

但与之对应最大的问题可能是我们的开发板的默认端口属性不一致,如下图的开发板波特率

针对开发默认属性的问题,建议网上查找官方文档或联系购买的店家客服。

三、总结

本文主要讲解了USB转串口设备实现PC端与开发板连通的过程以及一些会遇到的问题,其中要注意的点便是杜邦线的收发引脚连接要对应以及串口的端口号,波特率等各种基础属性也要对应。

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,用于在QT项目中实现电子横幅的PC端开发板之间USB串口通信: ```c++ #include <QtSerialPort/QSerialPort> #include <QtSerialPort/QSerialPortInfo> #include <QUsbDevice> // 查找USB设备 QList<QUsbDevice> devices = QUsbDevice::devices(); if (devices.isEmpty()) { qDebug() << "No USB devices found!"; return; } QUsbDevice device = devices.first(); // 打开USB设备 if (!device.open()) { qDebug() << "Failed to open USB device!"; return; } // 将USB设备换为串口设备 QString portName = device.portName(); QSerialPort serialPort(portName); serialPort.setBaudRate(QSerialPort::Baud9600); serialPort.setDataBits(QSerialPort::Data8); serialPort.setParity(QSerialPort::NoParity); serialPort.setStopBits(QSerialPort::OneStop); // 打开串口 if (serialPort.open(QIODevice::ReadWrite)) { qDebug() << "Serial port opened successfully!"; } else { qDebug() << "Failed to open serial port!"; } // 发送数据 QString data = "Hello, world!"; serialPort.write(data.toUtf8()); // 接收数据 while (serialPort.waitForReadyRead()) { QByteArray responseData = serialPort.readAll(); qDebug() << responseData; } // 关闭串口 serialPort.close(); // 关闭USB设备 device.close(); ``` 在这个示例代码中,我们首先使用了QT USB通信库(QUsbDevice)查找所有连接的USB设备,并且使用`open()`函数打开USB设备。然后,我们使用`portName()`函数获取USB设备串口名称,并且使用QT串口通信库(QSerialPort)来建立和控制串口通信,并且设置串口的基本参数,比如波特率、数据位数、校验位等等。我们通过`write()`函数向开发板发送数据,通过`readAll()`函数接收开发板返回的数据,最后通过`close()`函数关闭串口USB设备。 你需要根据实际的硬件平台和通信协议,修改代码中的设备信息和串口参数,以便正确地建立和控制USB串口通信
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值