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

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

[复制链接]
  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 169 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    624

    积分

    高级会员

    积分
    624
    发表于 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;


    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 169 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    624

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

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

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 169 天

    [LV.7]常住居民III

    116

    主题

    474

    回帖

    624

    积分

    高级会员

    积分
    624
     楼主| 发表于 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, 2024-5-18 08:14 , Processed in 0.058970 second(s), 40 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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