问题标签 [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.
serial-port - QextSerialPort 读取问题
我正面临readyRead() 的奇怪行为。我使用 QextSerialPort 进行串行通信,并将 readyRead() 连接到我的阅读槽。例如,我正在向端口写入 45 个字节并希望读取 45 个字节,但发生了什么,我的 readyRead() 信号不止一次发出,这意味着它将先读取 38 个字节,然后读取 7 个字节。我怎样才能让它读取整个数据块?
我希望我能很好地解释我的问题。请帮忙!
注意:我的消息使用 STANAG 协议。
qt - 即使在 MainWindow 关闭后,Qt 应用程序仍保留在内存中
问题如下:如果应用程序在没有主动做任何事情时关闭,它会正确退出。但是,如果它正在积极地处理某些事情(例如,在 while 循环中等待),则主窗口将关闭,但程序将继续在后台运行,正如打开任务管理器所确认的那样。
我今天花了很大一部分时间搜索问题并实施可能的修复,但无济于事。似乎 quit() 函数根本没有做任何事情。以下是我尝试过的一些事情:
- 使用
app.connect( &app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
. 我知道信号被触发了,因为我尝试更改&app, SLOT(quit())
为qApp, SLOT(aboutQt())
并短暂弹出了 aboutQt 窗口。 - 包括
qApp->quit();
从主窗口按钮运行的函数的开头。应用程序确实运行到该行,但没有任何效果。 - 用于
processEvents()
确保 GUI 正在更新。 - 包括
mainWindow.setAttribute(Qt::WA_QuitOnClose);
main.cpp 中的语句。
我只希望应用程序在主窗口关闭时完全退出。
我正在使用 qextserialport 库,如果这有什么不同的话。
c++ - qextserialport 在 Windows 上丢弃数据——我能做些什么呢?
背景
目前,我有用于收集传感器数据的TelosB 微尘,然后通过其 USB 串行端口以 115200 波特率传输数据。
过去,我使用 Python 开发与 mote 交互的程序,但是 Python 的 GIL 有其线程问题的份额,只能通过不使用 Python 来解决(我需要在初始测试阶段之后使用它的并发性),所以我转移到 C++/Qt。我在 Qt 上花了很多时间,因为我没有先验知识,学习了它的大部分最佳实践,并且一切都运行良好。除了这个问题之外的一切。
问题
当我尝试读取端口时,如果有大量数据通过,一些数据集会神秘地出错,导致我的项目中的丢失率高于预期。
当我使用qextserialport时会发生这种情况,但pySerial不会发生这种情况。
这就是我使用qextserialport初始化端口的方式:
和pySerial:
问题
所以我怀疑这两个库初始化端口的方式有些不同,但我没有串行编程经验,可能是错误的。
有人知道可能导致此错误的原因吗?
macos - Qt+Mac:串口不响应命令
我使用修改后的 QExtSerialPort 因为我不需要任何库。如果设备本身生成数据,我成功写入端口并成功从端口读取。但是根据我的命令,它没有回答。bytesAvailable() 在成功的命令记录后任何尝试读取时总是返回 0。在 Windows 下一切正常。我用 CoolTerm 应用程序测试了 com 端口,它也可以正常工作。
如何解决这种行为?
谢谢。
qt - 如何将 qextserialport 1.2win alpha 与 Qt Creator 集成?
我需要使用 Qt 中的 GUI 与串行 RS232 设备通信....我从代码谷歌下载了最新的代码... ...但不知道下一步该做什么...最初我做了(我不记得哪个版本它是 qextserial 的)但它有一个 .pri 文件,我刚刚将它包含在我的 .pro 文件中......这个网站......但现在下载的代码中没有 .pri 文件......
请帮助我任何将此功能集成到Qt Creator的人......提前谢谢
windows - QextSerialPort::read() 在超时到期但数据可用之前不会返回
我在 Win32 上使用 QextSerialPort 和 Qt 4.8.1。当设置“轮询”查询模式,并使用 QextSerialPort::setTimeout() 设置超时。当我调用 QExtSerialPort::read() 时,即使数据可用,读取函数也不会返回,直到整个超时期限到期,即使它返回数据也是如此。
例如:
我希望它会在读取指定的数量或字节或超时到期后立即返回 - 这首先发生。
这应该工作还是我误解了这个界面?有没有办法在轮询模式下实现预期的行为。
qt - qextserialport 正在放
我正在使用 QExtSerialPort 读取 USB 设备,但在读取通过串行端口发送的数据时遇到问题。数据以 100 到 1000Hz 的速率发送,有时数据会粘在一起。例如,如果数据的大小为 18 字节,大多数情况下它被读取为 18 字节,但有时它读取 36 或 54 字节等。当我让我的电脑做其他事情时,这尤其会发生。我使用的代码如下:
有人有解决方案吗?
qt - CommEvent 在 Qt 中重叠
我在 QT 中使用 Qextserialport,但我不断收到警告:
这个警告是什么意思?更重要的是,我该如何解决?
qt - Qwt 示波器示例结合 qextserialport
我正在研究 qwt 和 qextserialport 示例。到目前为止,我以示波器为例并添加了打开和配置端口的行。当我编译代码编译器给出以下错误。这是编译器输出:
这是我的代码:
示波器.pri
主文件
如果有人可以提供帮助,我会很感激,我不知道出了什么问题..
最好的问候埃德加拉斯
c++ - QWinEventNotifier:只能用于以 QThread 启动的线程
我正在尝试使用“QextSerialPort”打开我的 Huwawei USB 加密狗。
我的 PORT 详细信息如下
我试图打开我的 USB 加密狗,所以我可以发送短信。以下是我的打开代码
当我运行这段代码时,我得到的是
这显示了端口 id Open,但是那条消息呢?这是否意味着我不能继续使用其他代码?在编写其他代码之前,我想知道这一点。