数据安全与数据民主化可以兼得?Data Agent 如何实现精细化权限管控?
2025/12/30 13:45:11
typedef struct { ControlStatus SlefTest_En; // 自检使能:自检模式/正常工作模式 uint32_t StdId; // 标准帧标识符:取值范围0~0x7FF(11位) uint32_t ExtId; // 扩展帧标识符:取值范围0~0x1FFFFFFF(29位) uint8_t IDE; // 帧格式标识:标准帧/扩展帧 uint8_t RTR; // 帧类型标识:数据帧/远程帧(远程传输请求位) uint16_t DLC; // 数据长度码:传统CAN(0~8字节)/CAN FD(0~64字节)(原65535为笔误) uint8_t pData[8]; // 发送数据缓冲区:存储待发送的帧数据(传统CAN最大8字节) }Can_TxMsg_TypeDef; // CAN发送消息结构体类型定义核心字段:
✅ StdId/ExtId:CAN 帧 ID(11/29 位)
✅ IDE:区分标准 / 扩展帧
✅ RTR:数据帧 / 远程帧标识
✅ DLC:数据长度(别踩 65535 的坑!)
typedef struct { uint32_t ID; /* 可能是 ExtID 也可能是 StID */ // 帧ID:兼容标准(11位)/扩展(29位) uint8_t IDE; /* SFF 或 EFF */ // 帧格式标识:SFF(标准帧)/EFF(扩展帧) uint8_t RTR; // 帧类型标识:数据帧/远程帧(RTR位) uint8_t DLC; // 数据长度码:0~8字节(传统CAN) uint8_t Data[8]; // 接收数据缓存:存储收到的帧数据 } Can_RxMsg_TypeDef; // CAN接收消息结构体✅ ID:兼容 11/29 位帧 ID,由 IDE 字段区分类型
✅ DLC:限定 0~8 字节(传统 CAN),避免越界
✅ Data [8]:接收数据缓冲区,对应发送端的 pData