Auf dieser Seite

Verwendung des TinyCAN-Plugins

Das TinyCAN-Plugin kapselt die Low-Level-API für die Arbeit mit den CAN-Adaptern von MHS Elektronik.

Hinweis: Die TinyCAN-Adapter verwenden virtuelle serielle Schnittstellen. Um unter Linux mit TinyCAN-Adaptern zu kommunizieren, muss der Benutzer über entsprechende Zugriffsrechte verfügen. In der Regel werden diese Rechte allen Benutzern der Gruppe „dialout“ gewährt.

Erstellen von CAN-Bus-Geräten

Zunächst muss überprüft werden, ob unter QCanBus das gewünschte Plugin bereitgestellt wird:

if (QCanBus::instance()->plugins().contains(QStringLiteral("tinycan"))) {
    // plugin available
}

Dabei ist „tinycan“ der Name des Plugins.

Anschließend kann eine Verbindung zu einer bestimmten Schnittstelle hergestellt werden:

QCanBusDevice *device = QCanBus::instance()->createDevice(
    QStringLiteral("tinycan"), QStringLiteral("can0.0"));
device->connectDevice();

Dabei ist „can0.0“ der Name der aktiven CAN-Schnittstelle. TinyCAN stellt derzeit nur die Schnittstelle „can0.0“ zur Verfügung, die im TinyCAN-Plugin auf „INDEX_CAN_KANAL_A“ abgebildet wird.

Hinweis: Die Funktion „availableDevices()“ gibt derzeit immer nur ein Gerät „can0.0“ zurück, da es derzeit keine Möglichkeit gibt, die verfügbaren CAN-Adapter zu erkennen.

Hinweis: Derzeit werden von diesem Pluginnur USB-Adapter unterstützt.

Das Gerät ist nun zum Schreiben und Lesen von CAN-Frames geöffnet:

QCanBusFrame frame;
frame.setFrameId(8);
QByteArray payload("A36E");
frame.setPayload(payload);
device->writeFrame(frame);

Das Lesen kann mit der Methode „ readFrame()“ erfolgen. Das Signal „ framesReceived()“ wird ausgelöst, sobald mindestens ein neuer Frame zum Lesen verfügbar ist:

QCanBusFrame frame = device->readFrame();

TinyCAN unterstützt die folgenden Konfigurationen, die über ` setConfigurationParameter()` gesteuert werden können:

Konfigurationsparameter-SchlüsselBeschreibung
QCanBusDevice::BitRateKeyLegt die Bitrate der CAN-Bus-Verbindung fest. Die folgenden Bitraten werden unterstützt: 10000, 20000, 50000, 100000, 125000, 250000, 500000, 800000, 1000000.

TinyCAN unterstützt die folgenden zusätzlichen Funktionen:

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.