C++ QT CAN总线,SocketCAN无法读取CAN帧
我在QT中使用readFrame()方法读取CAN帧时遇到问题 我的初始化代码:C++ QT CAN总线,SocketCAN无法读取CAN帧,c++,qt,can-bus,socketcan,qt5.7,C++,Qt,Can Bus,Socketcan,Qt5.7,我在QT中使用readFrame()方法读取CAN帧时遇到问题 我的初始化代码: #include <QCanBusFrame> #include <QCanBus> #include <QCanBusDevice> CANSend::CANSend(QString interface){ CANdevice = QCanBus::instance()->createDevice("socketcan", interface); if (!CANde
#include <QCanBusFrame>
#include <QCanBus>
#include <QCanBusDevice>
CANSend::CANSend(QString interface){
CANdevice = QCanBus::instance()->createDevice("socketcan", interface);
if (!CANdevice->connectDevice()) {}
}
读取数据的代码
int CANSend::check_messages(){
const QCanBusFrame frame = CANdevice->readFrame();
const qint8 dataLength = frame.payload().size();
const qint32 id = frame.frameId();
return id;
}
在调试期间,我总是
帧=@0x7FFFFFDF10,
dataLength=0,
id=0
所以,尽管我可以通过candump命令和QT-CANBUS示例清楚地看到输入数据包,但我从未收到任何东西
你能帮帮我吗?谢谢。尝试通过连接插槽来接收帧
QCanBusDevice::framesReceived
。
int CANSend::check_messages(){
const QCanBusFrame frame = CANdevice->readFrame();
const qint8 dataLength = frame.payload().size();
const qint32 id = frame.frameId();
return id;
}