QT中的CAN通讯
CAN Communication in QT
我对 QT 中的 CAN 通信有一个特定的问题。 send/write CAN 消息不是问题,但 QT 中的 readFrame() 函数不会加载我接收到的帧。如果您在 C++ 中实现 CAN 通信,则可以使用 read() 和 write() 函数。但在QT中是不支持的。一般来说,读取函数会中断程序,直到收到一条消息,我怎样才能在 QT 中做同样的事情?
QCanBusFrame frame = device->readFrame();
感谢您的帮助,非常感谢!
来自 QT 文档:
Returns the next QCanBusFrame from the queue; otherwise returns an
empty QCanBusFrame. The returned frame is removed from the queue.
The queue operates according to the FIFO principle.
https://doc.qt.io/qt-5.12/qcanbusdevice.html#readFrame
先打电话试试
bool QCanBusDevice::waitForFramesReceived(int msecs)
https://doc.qt.io/qt-5.12/qcanbusdevice.html#waitForFramesReceived
然后读取帧
我对 QT 中的 CAN 通信有一个特定的问题。 send/write CAN 消息不是问题,但 QT 中的 readFrame() 函数不会加载我接收到的帧。如果您在 C++ 中实现 CAN 通信,则可以使用 read() 和 write() 函数。但在QT中是不支持的。一般来说,读取函数会中断程序,直到收到一条消息,我怎样才能在 QT 中做同样的事情?
QCanBusFrame frame = device->readFrame();
感谢您的帮助,非常感谢!
来自 QT 文档:
Returns the next QCanBusFrame from the queue; otherwise returns an empty QCanBusFrame. The returned frame is removed from the queue.
The queue operates according to the FIFO principle.
https://doc.qt.io/qt-5.12/qcanbusdevice.html#readFrame
先打电话试试
bool QCanBusDevice::waitForFramesReceived(int msecs)
https://doc.qt.io/qt-5.12/qcanbusdevice.html#waitForFramesReceived
然后读取帧