打印
[其他ST产品]

710的CAN为什么扩展帧要这样把数据扭过来?

[复制链接]
2162|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
progrime|  楼主 | 2007-9-15 09:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CAN, go, pc, ST, TI
#define EXT_FIXED_ID_ARB_L(id)    ((u16)(FIXED_ID_ARB(id) >> 11))
#define EXT_FIXED_ID_ARB_H(id)    ((u16)(STD_FIXED_ID_ARB(id) | ((FIXED_ID_ARB(id) >> 27) & 0x03)))


if (pCanMsg->IdType == CAN_STD_ID)
    {
          // standard ID
        CAN->sMsgObj[0].A1R = 0;
        CAN->sMsgObj[0].A2R = (CAN->sMsgObj[0].A2R & 0xE000) | STD_FIXED_ID_ARB(pCanMsg->Id);
    }
    else
    {
          // extended ID
        CAN->sMsgObj[0].A1R = EXT_FIXED_ID_ARB_L(pCanMsg->Id);
        CAN->sMsgObj[0].A2R = (CAN->sMsgObj[0].A2R & 0xE000) | EXT_FIXED_ID_ARB_H(pCanMsg->Id);
    }
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

306

帖子

2

粉丝