ich besitze ein USB-CANmodul (3204001 REv.05) und habe es erfolgreich mit meinem PC verbunden.
Nun versuche ich mit dem Demoprogramm PCANBasicDemo.jar eine Verbindung herzustellen. Leider kommt hier immer wieder der Fehler "Der Treiber ist nicht geladen".
Eigentlich geht es um die Einbindung in einem QT5.7.1 - Programm:
* create Device wird erfolgreich ausgeführt
* connect schlägt jedoch fehl
Code: Select all
#include <QCoreApplication>
#include <QtSerialBus>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
foreach (const QByteArray &backend, QCanBus::instance()->plugins()) {
if(backend == "socketcan") {
}
if(backend == "peakcan"){
qDebug()<<backend<<"is activated";
QCanBusDevice *canDevice = QCanBus::instance()->createDevice(backend, QStringLiteral("usbbus1")); //for Qt5.8 usb0
if (!canDevice) {
qDebug()<<"Error creating device: " + backend;
return -1;
}else{
qDebug()<<"Device created, connecting...";
canDevice->connect(canDevice,&QCanBusDevice::errorOccurred,[=](QCanBusDevice::CanBusError error){
QString msg;
switch (error) {
case QCanBusDevice::NoError:
msg="NoError";
break;
case QCanBusDevice::ReadError:
msg="ReadError";
break;
case QCanBusDevice::WriteError:
msg="WriteError";
break;
case QCanBusDevice::ConnectionError:
msg="ConnectionError";
break;
case QCanBusDevice::ConfigurationError:
msg="ConfigurationError";
break;
case QCanBusDevice::UnknownError:
msg="UnknownError";
break;
default:
break;
}
qDebug()<<msg<<": "<<canDevice->errorString();
});
if(canDevice->connectDevice()){
qDebug()<<"Device connected";
break;
}else{
break;
}
}
break;
}
}
return a.exec();
}
Jetzt die Frage wie kann ich den Treiber laden bzw. was muss ich hier noch berücksichtigen? Ich nehme an, dass der Fehler nicht dirkt im Code des Qt-Programms steckt, da die Examples auch nicht funktionieren - eventuelle habe ich falsche parameter konfiguriert?
Mit PCanView habe ich keine Probleme den Bus zu lesen. (siehe screenshots)
dankesehr im Vorraus.