Auf dieser Seite

QCanUniqueIdDescription Class

Die Klasse „QCanUniqueIdDescription“ beschreibt die Regeln für den Zugriff auf eine eindeutige Kennung in einem „ QCanBusFrame “. Mehr dazu...

Header: #include <QCanUniqueIdDescription>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
Seit: Qt 6.5
Status: Technologievorschau

Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.

Öffentliche Funktionen

QCanUniqueIdDescription()
QCanUniqueIdDescription(const QCanUniqueIdDescription &other)
QCanUniqueIdDescription(QCanUniqueIdDescription &&other)
~QCanUniqueIdDescription()
quint8 bitLength() const
QSysInfo::Endian endian() const
bool isValid() const
void setBitLength(quint8 length)
void setEndian(QSysInfo::Endian endian)
void setSource(QtCanBus::DataSource source)
void setStartBit(quint16 bit)
QtCanBus::DataSource source() const
quint16 startBit() const
QCanUniqueIdDescription &operator=(QCanUniqueIdDescription &&other)
QCanUniqueIdDescription &operator=(const QCanUniqueIdDescription &other)

Ausführliche Beschreibung

Eine eindeutige Kennung wird verwendet, um verschiedene CAN-Bus-Frames voneinander zu unterscheiden und die entsprechenden Pro QCanMessageDescriptionn zu ihrer Kodierung oder Dekodierung anzuwenden. Verschiedene CAN-Protokolle können unterschiedliche Teile des CAN-Frames als eindeutige Kennung verwenden (z. B. verwendet das DBC-Protokoll die gesamte FrameId als eindeutige Kennung).

Diese Klasse enthält Parameter, mit denen die Position der eindeutigen Kennung innerhalb eines CAN-Frames flexibel festgelegt werden kann:

  • Der Teil des Frames, aus dem die eindeutige Kennung extrahiert werden soll (FrameId oder Nutzdaten).
  • Das Startbit der eindeutigen Kennung, bezogen auf den ausgewählten Teil des Rahmens. Die Bits werden beginnend mit dem LSB gezählt.
  • Die Anzahl der Bits, die zur Darstellung der eindeutigen Kennung verwendet werden.
  • Die Endian-Reihenfolge, die zum Extrahieren des Werts verwendet wird.

Lesen Sie den Abschnitt „ Data Endianness Processing “ in der Dokumentation zu „ QCanSignalDescription “, um zu erfahren, wie der Wert des Startbits von der Daten-Endianness abhängt. Der dort beschriebene Ansatz wird auch für die Beschreibung eindeutiger IDs verwendet.

Der tatsächliche Wert einer eindeutigen Kennung wird durch den Typ „ QtCanBus::UniqueId “ dargestellt.

Siehe auch „ QCanMessageDescription “.

Dokumentation zu den Member-Funktionen

QCanUniqueIdDescription::QCanUniqueIdDescription()

Erstellt eine leere Beschreibung für eine eindeutige Kennung.

QCanUniqueIdDescription::QCanUniqueIdDescription(const QCanUniqueIdDescription &other)

Erstellt eine Beschreibung der eindeutigen Kennung mit den Werten, die von other kopiert wurden.

[constexpr noexcept default] QCanUniqueIdDescription::QCanUniqueIdDescription(QCanUniqueIdDescription &&other)

Erstellt eine Beschreibung der eindeutigen Kennung, indem sie aus „ other “ verschoben wird.

Hinweis: Das aus „xml-ph-0000@deepl.internal“ verschobene QCanUniqueIdDescription-Objekt kann nur zerstört oder zugewiesen werden. Die Auswirkungen des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren sind undefiniert.

[constexpr noexcept default] QCanUniqueIdDescription::~QCanUniqueIdDescription()

Löscht die Beschreibung dieser eindeutigen Kennung.

quint8 QCanUniqueIdDescription::bitLength() const

Gibt die Bitlänge der eindeutigen Kennung zurück.

Siehe auch setBitLength(), startBit() und setStartBit().

QSysInfo::Endian QCanUniqueIdDescription::endian() const

Gibt das Daten-Endian der eindeutigen Kennung zurück.

Standardmäßig wird „ LittleEndian “ verwendet.

Siehe auch „ setEndian()“ und „ QSysInfo::Endian “.

bool QCanUniqueIdDescription::isValid() const

Gibt „ true “ zurück, wenn diese Beschreibung der eindeutigen Kennung gültig ist, andernfalls „ false “.

Eine gültige Beschreibung einer eindeutigen Kennung muss einen Wert von bitLength() aufweisen, der größer als Null ist und die Anzahl der Bits des Typs QtCanBus::UniqueId nicht überschreitet.

Siehe auch bitLength().

void QCanUniqueIdDescription::setBitLength(quint8 length)

Legt die Bitlänge der eindeutigen Kennung auf „ length “ fest.

Siehe auch bitLength(), startBit() und setStartBit().

void QCanUniqueIdDescription::setEndian(QSysInfo::Endian endian)

Legt die Daten-Endian-Reihenfolge der eindeutigen Kennung auf „ endian “ fest.

Siehe auch ` endian()` und ` QSysInfo::Endian`.

void QCanUniqueIdDescription::setSource(QtCanBus::DataSource source)

Legt die Datenquelle der eindeutigen Kennung auf source fest.

Siehe auch source() und QtCanBus::DataSource.

void QCanUniqueIdDescription::setStartBit(quint16 bit)

Setzt das Startbit der eindeutigen Kennung in der Funktion „ source()“ auf „ bit “.

Siehe auch „ startBit()“, „ bitLength()“ und „ setBitLength()“.

QtCanBus::DataSource QCanUniqueIdDescription::source() const

Gibt die Datenquelle der eindeutigen Kennung zurück.

Standardmäßig wird „ FrameId “ verwendet.

Siehe auch „ setSource()“ und „ QtCanBus::DataSource “.

quint16 QCanUniqueIdDescription::startBit() const

Gibt das Startbit der eindeutigen Kennung in der Funktion „ source()“ zurück.

Siehe auch setStartBit(), bitLength() und setBitLength().

[noexcept] QCanUniqueIdDescription &QCanUniqueIdDescription::operator=(QCanUniqueIdDescription &&other)

Weist dieser eindeutigen Kennungsbeschreibung die Werte aus „ other “ zu.

Hinweis: Das Objekt „ QCanUniqueIdDescription “, aus dem die Werte verschoben wurden, kann nur zerstört oder zugewiesen werden. Die Auswirkung des Aufrufs anderer Funktionen als des Destruktors oder eines der Zuweisungsoperatoren ist undefiniert.

QCanUniqueIdDescription &QCanUniqueIdDescription::operator=(const QCanUniqueIdDescription &other)

Weist dieser Beschreibung der eindeutigen Kennung die Werte aus „ other “ zu.

© 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.