问题标签 [qtserial]
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++ - QSerialPort 和虚拟端口仿真器
我的基于 QSerialPort 类的程序有问题。我已经为我的蓝牙模块 HC-06(它作为串口连接到 pc)创建了接收器应用程序,我的应用程序已经从这个模块接收到数据,没有任何问题。现在我刚刚编写了另一个应该模拟发射器的应用程序。然后我尝试使用程序 Free Virtual Serial Port 在两个虚拟串口之间建立一个桥梁。之后出现了一些问题。即使我通过 tranmiter 应用程序将数据写入桥接串行端口,接收器应用程序也不会发出 readyRead() 信号。当我断开接收器并通过 Hercules 终端连接到同一端口时,会显示所有缓冲数据。
我究竟做错了什么?有没有办法让它工作?我在 windows 7 64bit 上使用基于 qt 5.1.1 的 qt creator 2.8.1。
c++ - qt 串口未打开
我正在尝试写入串行端口打印机。我使用 Qt5.4 和以下代码:
我得到错误:
有人可以帮助了解为什么会发生这种情况吗?我的电脑中的驱动程序有什么问题。当我尝试测试打印时,从 Windows 可以正常工作..
qt - 无法使用 qtserial 将数据写入 Arduino
我对 qt 编程相当陌生。我无法向 Arduino 发送/写入数据。
预期从 Arduino 读取数据。
我正在尝试打开 pin13 led 时Serial.available() > 0
。当我使用 Arduino 串行监视器发送数据时,它可以正常工作。但是我不能使用 qt-serial 来做同样的事情。我没有收到任何错误消息。
应该采取什么方法来调试此类问题?
serialCom.h
serialCom.cpp
主文件
simpleSerialCom.pro
qt - Qt没有从arduino接收串行数据
我正在使用 Qt 编写一个从串行线路读取数据的 C++ 程序。数据的“生产者”是一块 Arduino UNO 板。
Arduino 代码非常简单。目前,它只是生成一个随机数并通过串行线路发送。这是代码:
我已经使用 Arduino 的“串行监视器”来验证数据是否通过串行线路。
在 Qt 方面,我有一个工作线程,它应该读取串行数据并相应地更新 UI 上的绘图。工作线程肯定正在运行,并且此代码正在执行(我已经检查过)。我的“端口列表”中只有一个设备显示,它是 Arduino,所以目前我直接连接到它。这是代码:
不幸的是,从来没有任何可用的字节。它成功打开串行端口,但没有字节通过。我在这里做错了什么?有任何想法吗?谢谢!
c++ - Qt Serial 不能从另一个类中使用
我正在尝试使用串行端口进行读写。我创建了一个名为 serial 的类,并将它与 mainwindow.cpp 上的 readyRead 连接起来。
当我通过在serial.cpp中连接信号接收数据时,我正在读取数据,没有任何问题。
我在serial.cpp中写入数据也没有任何问题。
但是当我尝试从另一个类写入数据时“程序意外完成”。
这是另一个类中的connect方法的代码
connect(this,SIGNAL(giden_seri(QString)),frm_serial,SLOT(serialWrite(QString)));
和字符串在另一个类中发送代码
emit giden_seri(seri_mesaj);
这是我在 serial.cpp 中的 serialWrite 函数
顺便说一句,我不能不使用serialDevice的任何功能,不仅写....
编辑:
主窗口.h
串行.h
manuel.h(我的另一堂课)
主窗口.cpp
串行.cpp
手册.cpp
qt - 如何检索大于 Qt Modbus InputRegisters 的数据大小?
据我了解,范围QModbusDataUnit::InputRegisters
是 0-65535,即unsigned short
.
读取1个单位的方法inputregisters
如下:
QModbusDataUnit readUnit(QModbusDataUnit::InputRegisters, 40006, 1);
该值将在回复中,即:int value = result.value(0);
我的问题是,如果我必须读取一个unsigned int
比 . 范围大得多的值怎么办0 to 4,294,967,295
?
如何检索该值?
qt - QSerialPortInfo isValid() 和 isBusy()
QSerialPortInfo类具有 const 方法isValid ()(自 5.2 起已弃用)和isBusy ()(自 5.6 起已弃用)。它们似乎都可以工作,但 QT 文档没有提供是否应该用isNull () 替换它们的信息,或者应该以其他方式检查QSerialPortInfo对象的状态。
谁能告诉我检查串口可用性的实际方法?
qt - QModbusRtuSerialMaster 复位输出队列
有没有办法重置 QModbusRtuSerialMaster 实例的输出队列。
我认为另一端已被它无法处理的重试饱和,导致 QModbusRtuSerialMaster 重试使问题变得更糟。
如果在一段时间后没有对特定消息的回复,一个可能的解决方案是重置输出队列,删除挂起的请求。
我查看了源代码和文档,但看不到任何明显的方法。
我猜只是关闭并重新打开它不会立即刷新队列,而是等待队列清除。
python-3.x - Python 连接到串口(PyQt GUI)
我正在尝试使用 python 和 Qt 设计器来拥有像软件程序这样的串行术语。我可以毫无问题地打开 COM 端口。但是我找不到一个很好的例子来使用pyserial或Qtserial在Python中检测usb设备插入和拔出事件。
有没有办法在 python 中动态更新连接的 USB-to-Serial 类型的设备列表?
我正在使用 Windows10 + Python 3.x + PyCharm + pyserial + Qt 设计器。
qt - QSerialPort 在 QT 中导致“程序意外完成”
如果我运行这个构造函数
从这堂课
然后我得到了错误
如果我评论代码
然后我完全没有错误。为什么会发生这种情况?我错过了什么?
我在 Windows 10 上运行 QT5。
这没有错误。获取有关 COM 端口的信息有效。