问题标签 [qtserialport]

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.

0 投票
1 回答
3447 浏览

c++ - 在 Qt4 中使用最新的 Qt5 串口库

我可以在 Qt4 中使用最新的 QSerialPort 系列(如 Qt5.3.2 中的那个)吗?我尝试下载 Qt5.3.2 的源代码并将 QSerialPort 文件添加到我的项目中。我修改了一些包含以消除包含错误。但它似乎根本不起作用......

0 投票
1 回答
798 浏览

c++ - qt-通过线程更新ui

嗨,我在通过线程更新 ui 时遇到问题。代码工作正常,但问题是当我想移动我的窗口时,你知道那一刻 ui 线程将停止更新。我的线程将值发送到导致错误的停止线程。我不知道如何解决这个问题。

这是我的线程代码标题:

我的线程.cpp:

简而言之,这里是我的 mainwindow.cpp:

0 投票
3 回答
1308 浏览

c++ - 串行数据包丢失 - QTSerialPort

我正在制作一个程序,它以每秒 250 个样本(115200 波特)读取来自串行 RN42 蓝牙连接的数据流。运行代码时,我注意到一些数据没有被删除和读取,因此不同步。

}

我的代码有问题吗?如果没有,有没有办法解决这个问题?这是一个脑电图设备,因此每个数据点都至关重要。

提前致谢!

0 投票
1 回答
729 浏览

qt - QSerialPort:如何使用接收到的字节数调整 readysignal 的发射时间

我使用 Qserialport 每 10 毫秒接收一个 7 字节的数据。波特率为 115200。我使用 signal(readyread) 和 slot(readLine in a separate function) 方法。就绪读取信号仅每 16 毫秒发出一次。但我的设备以 10 毫秒的间隔发送数据。如何以 10 毫秒的间隔接收样本。如何使readyread信号以10ms的间隔发出。谢谢

0 投票
2 回答
741 浏览

c++ - QSerialPort 正确发送多行

我正在尝试使用 QSerialPort (QT 5.3.1) 将非常大的文件写入串行端口。问题是 - 我不断发送超出设备可以处理的内容。程序是这样工作的(这个函数在 50 毫秒内调用一次):

但它最终会出现缺陷并挂起(在设备上,而不是在 PC 上)。如果我能以某种方式检查设备是否已准备好用于下一行,但我在 QSerial 文档中找不到类似的东西。有任何想法吗?

0 投票
1 回答
2137 浏览

c++ - qt 串口未打开

我正在尝试写入串行端口打印机。我使用 Qt5.4 和以下代码:

我得到错误:

有人可以帮助了解为什么会发生这种情况吗?我的电脑中的驱动程序有什么问题。当我尝试测试打印时,从 Windows 可以正常工作..

0 投票
1 回答
778 浏览

linux - 进程结束后 QSerialPort 对 `/dev/ttyS*` 的影响?

当使用的 Qt 应用程序QSerialPort遇到非干净关闭(例如由于接收而不是处理SIGINT)时,串行端口的文件描述符如何受到影响?

在运行一个打开QSerialPorton的应用程序/dev/ttyS0,然后用 退出后Ctl-C,我发现它会cat < /dev/ttyS0立即返回(不打印任何内容),而不是等待数据(就像通常那样)。

我希望如果这是由于一个打开的文件句柄悬而未决,它会显示在 的输出中lsof,但lsof | grep ttyS0什么也不返回。(我不确定如何在特定文件描述符上搜索句柄。)

我意识到这是一个 XY 问题,因为我可以通过重写我的应用程序以正确处理来完全避免这个问题SIGINT,但我想更深入地了解这里发生的事情以及是否有办法恢复序列处于此状态时的端口。


编辑:根据要求,这里是输出strace cat /dev/ttyS0

这是输出stty -a -F /dev/ttyS0

0 投票
0 回答
572 浏览

c++ - Qt:以无符号字符形式接收串口数据

使用我的主应用程序发送字节,并将它们作为无符号字符(0x80 及以上)发送。我创建了一个小型支持应用程序,它接收这些数据,将它们写入终端,然后将它们发送回来作为成功传输的确认。但是在支持应用程序中使用此代码:

如果我通过串口发送 0xFF,我会在 cout 上得到“0xFF = 255 = -1”。我确实知道这个数字由 1111 1111 表示(实际上在这种情况下 255 等于 -1),这要归功于 SOF 上的另一篇文章。但是我应该如何接收代码以在终端上获取“Header 1”?

0 投票
2 回答
2653 浏览

c++ - 为什么 qRegisterMetaType 会抛出错误?

我目前正在使用 Qt 构建一个能够发送和接收通过QSerialPort.

为此,我有一个对象连接我的应用程序和设备之间的通信。

在这个类中,我可以调用一个 run 成员函数来启动通信。

在那种方法中,连接是这样的:

在这里,我的问题是,无论我尝试什么,我总是从第 684 行的 , 的包含文件中得到一个错误QtCoreqglobal.h指的是我尝试注册元类型的第一行代码SerialPortError

错误 :

类型未注册,请使用 Q_DECLARE_METATYPE 宏使其为 Qt 的元对象系统所知。

这就是我所做的!从我的代码中的任何地方,在类内部,在名称空间内部,甚至在全局中,我都调用了那个宏Q_DECLARE_METATYPE(QSerialPort::SerialPortError),但没有任何进展:/

那是我在网上寻找解决此错误的第三天,我的时间不多了。

我无法弄清楚我在做什么错或误解。

有人能帮我吗?您是否已经遇到过这个错误?

谢谢你,大卫

0 投票
1 回答
586 浏览

c++ - QSerialPort 新的信号槽语法没有匹配的成员函数调用“连接”

我正在尝试使用新的信号和槽语法,但在连接函数时出现编译错误。在这种情况下如何使用新语法?

完整的错误信息: