17#define ONE_MOTOR_CAN_MAX_DLEN 8
24namespace OneMotor::Can
45 static_assert(
sizeof(CanFrame) ==
sizeof(can_frame),
46 "Size mismatch between CanFrame and can_frame.");
47 static_assert(
alignof(CanFrame) ==
alignof(can_frame),
48 "Alignment mismatch between CanFrame and can_frame.");
49 static_assert(std::is_standard_layout_v<CanFrame>,
50 "CanFrame must be a standard-layout type for safe casting.");
51 static_assert(offsetof(CanFrame,
id) == offsetof(can_frame, can_id),
52 "Offset mismatch for 'id' member.");
53 static_assert(offsetof(CanFrame, dlc) == offsetof(can_frame, can_dlc),
54 "Offset mismatch for 'dlc' member.");
55 static_assert(offsetof(CanFrame, data) == offsetof(can_frame, data),
56 "Offset mismatch for 'data' member.");
#define ONE_MOTOR_CAN_MAX_DLEN
定义CAN帧数据的最大长度。
定义 CanFrame.hpp:17
uint8_t data[ONE_MOTOR_CAN_MAX_DLEN]
CAN数据负载,8字节对齐
定义 CanFrame.hpp:42
uint8_t len8_dlc
CAN FD中真实的数据长度 (兼容普通CAN)
定义 CanFrame.hpp:41
uint8_t __res0
保留字节
定义 CanFrame.hpp:40
uint8_t dlc
数据长度码 (0-8)
定义 CanFrame.hpp:38
uint8_t __pad
填充字节,用于对齐
定义 CanFrame.hpp:39