问题标签 [qextserialport]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 通过 qextserialport 发送文件
我正在使用 Qt 中的 qextserialport 类来实现设备之间的串行传输。现在,我需要使用串口在通过 USB 连接的设备之间发送文件。在过去的几周里,我已经将串行端口用于各种功能,但我不知道从哪里开始实现它。我考虑读取数据事件驱动,直到没有更多数据要读取,事先确定文件的大小(字节数)并将其与数据一起发送,这样如果数据丢失就很清楚了。我还有一个计算 CCIITT 16 位校验和的正确函数,因此我也可以使用它进行检查。因此,我的问题是:
有人可以向我发送一个可以帮助解决我的问题的网站的链接,并向我解释通过 Qt 中的 qextserialport 类发送文件和接收文件的最简单有效的方法是什么。任何帮助都会很糟糕!
c - Linux 中的串口设置是永久的吗?
我有两个程序要从串口读取,另一端连接了一些设备。第一个程序是使用 Qt 框架编写的,它使用 QextSerialPort 与串行通信。第二个程序是用纯 C 编写的。
问题是这样的:
系统启动后,纯 C 程序在从串口读取数据时出现问题,我知道它可以正确发送数据,因为设备会对数据做出反应,尽管 pselect(即监视 serial_fd)永远不会返回 serial_fd 从设备读取数据。
当我启动第二个程序(用 Qt 编写)时,它会立即从设备发送和接收数据,没问题。
更重要的是,在我启动 Qt 程序,然后是纯 C 程序后,纯 C 突然完美地工作,直到我再次重新启动系统。所以看起来用Qt编写的程序在初始化期间会永久更改一些串口设置,这可能吗?
下面是初始化串口的 Qt 程序的代码片段:
这是来自纯 C 程序:
有什么遗漏还是什么?
最好的问候马雷克
qt - 无法编译 Qt qextserialport 库
我正在尝试使用 qextserialport 库:
下载:
git clone https://code.google.com/p/qextserialport/
用 Qt 打开 qextserialport.pro
编译...(调试模式)
我没有错误,但出现窗口:
找不到可执行文件,请选择一个。
我应该选择哪一个?
注意:我在 MacOSX 10.6 上使用 Qt 3.1.1
c++ - 从端口读取时缺少 qserialport 数据,但返回 9 个可用字节
qextserialport
使用类数据丢失的函数readdata从端口读取时发生
例如serialobj->bytesavailable
返回 9 个字节,但从serialobj->readData
pic 微控制器只返回两个字符
c++ - Qt QextSerialPort 静态库
如何为 Windows 平台制作 QextSerialPort 的静态库以与 Qt 4.8.5 一起使用
我不明白如何修改 .pro 或 .pri 文件来执行此操作。(.prf 文件不断重新生成)。
所以我尝试修改生成的 .vcproj 文件以进行静态构建,并删除了一些定义,但我仍然收到如下警告:
qextserialport.lib(qextserialport.obj) : 警告 LNK4006: "public: __thiscall QextSerialPort::QextSerialPort(class QString const &,enum QextSerialPort::QueryMode,class QObject *)" (??0QextSerialPort@@QAE@ABVQString@@W4QueryMode@ 0@PAVQObject@@@Z) 已经在 qextserialportd1.lib(qextserialportd1.dll) 中定义;第二个定义被忽略
并在运行时得到“系统错误:程序无法启动,因为您的计算机缺少 qextserailportd1.dll”。这当然是真的,因为我正在尝试使用 .lib 进行静态构建
那么我该如何正确地进行静态构建呢?
c++ - 无法使用 qextserialport 声明串行端口
我已经看到了几个问题并搜索了很多,但我找不到使用 qextserialport 声明串行端口对象的方法,以便在 arduino 中读取和写入。我尝试了用户在How to write on serial port using Qextserialport 中所做的操作,但编译器给了我以下错误:
这是我正在使用的代码:
为什么会出现这个错误?我正在使用 Debian 8.2 和 QT 4.8.6
编辑: 添加行后:
到项目文件,我有以下错误:
c++ - 未发出 qextserialport 中的 readyRead() 信号
我正在使用qextserialport与 Windows 8.1 上的蓝牙设备进行通信。我定义了一个ComPort类。我需要先{0xA9,0x55}
在“COM5”上写一条消息,要求蓝牙设备开始传输数据。然后我就可以开始读取数据了。我有一个终端应用程序,显示我已经编写了消息,并且数据在“COM5”上可用。
问题定义:
在comport.cpp中,既不waitForBytesWritten()
也不waitForReadyRead()
返回true
。可用字节数为零,并且onReadyRead()
不调用插槽。我的代码有什么问题?
comport.h
和comport.cpp
qt - 使用 QextSerialPort 写入数据总是写入 0 字节
我正在尝试将 1/0 发送到我的 ARDUINO 板并尝试从板上接收一些数据作为响应,我为此使用 QextSerialPort (Qt lib) 但我无法将任何数据写入板并且无法也接收任何数据。
qDebug() << "send.size() : " << send.size() << " data = " << send.data() <<" Written = " << port->write(send, send.尺寸()); 此打印: send.size() : 1 data = 1 Written = 0 //意味着我每次都写入 0 个字节
我的代码有问题吗??
我的 Arduino 代码是:
解决了:
我在 Qt5.5 中切换到 QSerialPort 类,它确实工作得很好。
& 我的 aurdino 代码也有问题(复制粘贴效果)
c++ - 为什么 Qt(4.8) 串行端口 (qextserialport) 从设备中读取数据 2 部分?
这是我的代码:(我使用了 qextserialport)
此代码首先在 Ubuntu 上运行并显示从设备接收的所有字节,但是当我在 linux 嵌入式设备中对其进行测试时,此代码分两部分从串行设备中读取数据。() 我的字节中没有 \n 。我将代码更改为此代码:
但我的输出再次是:
但它应该是:
我的输出大小可能是 48 字节或 512 字节
linux - 如何在 QextSeriaport 的 readyRead 中修改时序
我对 QT 中的 QExtSerialPort 有疑问。我正在基于 linux 的操作系统下开发 IMX6UL CPU。
我注意到,在波特率为 9600 时,SIGNAL readyRead 在发送我的串行字符串(由 3 个字符组成,大约 3 毫秒)后大约 35 毫秒“激活”
这样,如果我尝试与 CPU 通信,我可以使用大约 30Hz 的最大频率,这对于我的应用程序来说太低了。
此外,如果我使用较低的波特率,35 毫秒的时间会变长(4800 为 80 毫秒,2400 为 175 毫秒)。
我的目标是,当我在 3,5 个字符(即 9600 的波特率,3,5 / 4 毫秒的时间)内不进行传输时,readyReady 将变为活动状态。
我应该修改readyread函数吗?
我想保留这个库,因为我已经写了很多代码。
先感谢您