找回密码
 立即注册
查看: 337|回复: 3

已解决:RTR==1是远程帧,远程帧数据段是无效的??下面数据段还是定义8个字节,

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2024-4-28 16:10:20 | 显示全部楼层 |阅读模式
本帖最后由 380091044 于 2024-4-28 16:14 编辑

CAN总线标准帧收发测试例程中:

RTR==1是远程帧,远程帧数据段是无效的??下面数据段还是定义8个字节,这是怎么理解的?



/*************  本地变量声明    **************/

typedef struct
{
        u8        DLC:4;          //数据长度, bit0~bit3
        u8        :2;             //空数据, bit4~bit5
        u8        RTR:1;          //帧类型, bit6 这里RTR==1是远程帧,远程帧数据段是无效的??
        u8        FF:1;           //帧格式, bit7
        u32        ID;             //CAN ID
        u8        DataBuffer[8];  //数据缓存;看上面问号处,这里数据段还是8个字节?
}CAN_DataDef;


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2024-4-28 16:16:03 | 显示全部楼层
我看错了,其实是占1bit,不是RTR==1;理解有误造成的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-4-28 16:18:11 | 显示全部楼层
这不是赋值,而是结构体位段定义。
DLC:4  表示DLC变量占用4bit空间
RTR:1  表示RTR变量占用1bit空间
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2024-4-28 16:25:06 | 显示全部楼层
乘风*** 发表于 2024-4-28 16:18
这不是赋值,而是结构体位段定义。
DLC:4  表示DLC变量占用4bit空间
RTR:1  表示RTR变量占用1bit空间 ...

谢谢老师指点
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:31 , Processed in 0.322368 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表