Mac下usb转串口Qt开发

之前弄的是 USB 通信,使用 libusb 解决了!

这次倒是更加简单了,

qextserialport

给的demo中有很明确的用法,甚至包括波特率的选择

在修改过程中没有什么大问题,而且兼容win,给自己节约了很多时间

usb 转串,不像USB那么麻烦,USB在Mac下会被独占,而usb 转串却不需要关心驱动的问题!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的示例代码,用于在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串口通信。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值