QCanUniqueIdDescription Class
QCanUniqueIdDescription 类描述了在QCanBusFrame 中访问唯一标识符的规则 ... 更多...
头文件: | #include <QCanUniqueIdDescription> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
qmake: | QT += serialbus |
自 | Qt 6.5 |
状态: | 初步 |
该类正在开发中,可能会有变动。
公共函数
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) |
详细说明
唯一标识符用于区分不同的 CAN 总线帧,并应用适当的QCanMessageDescriptions 对其进行编码或解码。不同的 CAN 协议可以使用 CAN 帧的不同部分作为唯一标识符(例如,DBC 协议使用整个 FrameId 作为唯一标识符)。
该类包含的参数可以灵活地指定唯一标识符在 CAN 帧中的位置:
- 用于提取唯一标识符的帧部分(FrameId 或有效载荷)。
- 唯一标识符相对于所选帧部分的起始位。比特从 LSB 开始计数。
- 用于表示唯一标识符的比特数。
- 用于提取值的 endian。
请查看QCanSignalDescription 文档的Data Endianness Processing 部分,了解起始位值如何取决于数据的字节序。那里描述的方法也用于唯一标识符的描述。
唯一标识符的实际值由QtCanBus::UniqueId 类型表示。
另请参见 QCanMessageDescription 。
成员函数文档
QCanUniqueIdDescription::QCanUniqueIdDescription()
创建一个空的唯一标识符描述。
QCanUniqueIdDescription::QCanUniqueIdDescription(const QCanUniqueIdDescription &other)
创建唯一标识符描述,其值从other 复制。
[noexcept]
QCanUniqueIdDescription::QCanUniqueIdDescription(QCanUniqueIdDescription &&other)
通过移自other 创建唯一标识符描述。
注意: 移入的 QCanUniqueIdDescription 对象只能被销毁或赋值。调用析构函数或赋值操作符之外的其他函数的效果未定义。
[noexcept]
QCanUniqueIdDescription::~QCanUniqueIdDescription()
销毁此唯一标识符描述。
quint8 QCanUniqueIdDescription::bitLength() const
返回唯一标识符的位长。
另请参阅 setBitLength()、startBit() 和setStartBit()。
QSysInfo::Endian QCanUniqueIdDescription::endian() const
返回唯一标识符的数据端位。
默认使用LittleEndian 。
另请参阅 setEndian() 和QSysInfo::Endian 。
bool QCanUniqueIdDescription::isValid() const
如果唯一标识符描述有效,则返回true
,否则返回false
。
有效的唯一标识符描述必须有一个大于零且不超过QtCanBus::UniqueId 类型位数的bitLength()。
另请参阅 bitLength()。
void QCanUniqueIdDescription::setBitLength(quint8 length)
将唯一标识符的位长设置为length 。
另请参阅 bitLength()、startBit() 和setStartBit()。
void QCanUniqueIdDescription::setEndian(QSysInfo::Endian endian)
将唯一标识符的数据 endian 设置为endian 。
另请参阅 endian() 和QSysInfo::Endian 。
void QCanUniqueIdDescription::setSource(QtCanBus::DataSource source)
将唯一标识符的数据源设置为source 。
另请参阅 source() 和QtCanBus::DataSource 。
void QCanUniqueIdDescription::setStartBit(quint16 bit)
将source() 中唯一标识符的起始位设置为bit 。
另请参阅 startBit()、bitLength() 和setBitLength()。
QtCanBus::DataSource QCanUniqueIdDescription::source() const
返回唯一标识符的数据源。
默认使用FrameId 。
另请参阅 setSource() 和QtCanBus::DataSource 。
quint16 QCanUniqueIdDescription::startBit() const
返回source() 中唯一标识符的起始位。
另请参阅 setStartBit()、bitLength() 和setBitLength()。
[noexcept]
QCanUniqueIdDescription &QCanUniqueIdDescription::operator=(QCanUniqueIdDescription &&other)
移动--将other 中的值赋值给此唯一标识符描述。
注意: 移动后的QCanUniqueIdDescription 对象只能被销毁或赋值。调用析构函数或赋值操作符之外的其他函数的效果未定义。
QCanUniqueIdDescription &QCanUniqueIdDescription::operator=(const QCanUniqueIdDescription &other)
将other 中的值分配给此唯一标识符描述。
© 2025 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.