资源简介
使用Qt5自带的QSerialPort和QSerialPortInfo写的控制台程序,可读取串口数据。环境:win7 64位系统,Qt版本:qt-opensource-windows-x86-mingw482_opengl-5.3.0
代码片段和文件信息
#include
#include
#include
#include
#include
QT_USE_NAMESPACE
int main(int argc char *argv[])
{
QCoreApplication (argc argv);
QTextStream standardOutput(stdout);
QSerialPort serialPort;
QList serialPortInfoList = QSerialPortInfo::availablePorts();
/*standardOutput << Qobject::tr(“Total number of ports available: “) << serialPortInfoList.count() << endl;
const QString blankString = Qobject::tr(“N/A“);
QString description;
QString manufacturer;
QString serialNumber;*/
foreach (const QSerialPortInfo &serialPortInfo serialPortInfoList) {
/*description = serialPortInfo.description();
manufacturer = serialPortInfo.manufacturer();
serialNumber = serialPortInfo.serialNumber();*/
serialPort.setBaudRate(QSerialPort::Baud115200);
serialPort.setPortName(serialPortInfo.portName());
standardOutput << endl
<< Qobject::tr(“Port: “) << serialPortInfo.portName() << endl
/*<< Qobject::tr(“Location: “) << serialPortInfo.systemLocation() << endl
<< Qobject::tr(“Description: “) << (!description.isEmpty() ? description : blankString) << endl
<< Qobject::tr(“Manufacturer: “) << (!manufacturer.isEmpty() ? manufacturer : blankString) << endl
<< Qobject::tr(“Serial number: “) << (!serialNumber.isEmpty() ? serialNumber : blankString) << endl
<< Qobject::tr(“Vendor Identifier: “) << (serialPortInfo.hasVendorIdentifier() ? QByteArray::number(serialPortInfo.vendorIdentifier() 16) : blankString) << endl
<< Qobject::tr(“Product Identifier: “) << (serialPortInfo.hasProductIdentifier() ? QByteArray::number(serialPortInfo.productIdentifier() 16) : blankString) << endl
<< Qobject::tr(“Busy: “) << (serialPortInfo.isBusy() ? Qobject::tr(“Yes“) : Qobject::tr(“No“)) << endl*/
<< Qobject::tr(“Baud Rate: %1“).arg(serialPort.baudRate()) << endl;
}
if (!serialPort.open(QIODevice::ReadWrite))
{
standardOutput << Qobject::tr(“Failed to open port %1 error: %2“).arg(serialPort.portName()).arg(serialPort.error()) << endl;
return 1;
}
QByteArray readData = serialPort.readAll();
while (serialPort.waitForReadyRead(1000))
readData.append(serialPort.readAll());
if (serialPort.error() == QSerialPort::ReadError)
{
standardOutput << Qobject::tr(“Failed to read from port %1 error: %2“).arg(serialPort.portName()).arg(serialPort.errorString()) << endl;
return 1;
}
else if (serialPort.error() == QSerialPort::TimeoutError && readData.isEmpty())
{
standardOutput << Qobject::tr(“No data was currently available for reading from port %1“).arg(serialPort.portName()) << endl;
return 0;
}
else
{
standardOutput << Qobject::t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3363 2014-07-04 13:47 Sreader\main.cpp
文件 469 2014-07-02 16:09 Sreader\Sreader.pro
文件 18211 2014-07-04 13:47 Sreader\Sreader.pro.user
目录 0 2014-07-04 13:47 Sreader
----------- --------- ---------- ----- ----
22043 4
相关资源
- WinCE下的虚拟串口软件(VSPD Mobile 4.
- STM32 MPU6050-DMP-欧拉角串口输出 滤波
- delphi 运用两种方法读取电脑的所有串
- QT后台监控鼠标侧键
- 一个可以用串口接收数据并显示波形
- sscom3.2(串口测试工具)
- STM32 USART1 USART2 UASRT3 UART4 UART5串口通信
- fpga verilog 串口发送程序
- can转串口
- XCOM V2.2.exe
- QT 开启线程接收串口数据并由主线程
- sim800c透传模式 +串口1-5初始化源码
- ESP8266串口输入字符串,同时用0.96寸
- 笔趣阁小说器
- MSCOMM控件加脚本注册
- QT串口通信实例62216
- 基于Proteus的温度传感器串口通信仿真
- Jetson TX2 串口POLLIN中断
- 串口通信串口助手发送指令控制单片
- 串口采集数据发送到服务器
- 用QT5写简单的串口调试工具
- Windows CE 6.0 虚拟串口程序
- LABVIEW写的串口收发程序
- 上位机自动搜索串口,自动匹配波特
- modbus 不知装置地址情况下 快速查找
- 两个单片机之间实现串口通信,包括
- N76E003单片机串口BUG修改
- 串口帮助类实现超时机制.zip
- labview自动获取串口号程序源码
- 安信可串口调试助手
评论
共有 条评论