找回密码
 立即注册
查看: 368|回复: 2

CAN例程中的字节读取ID拼接是不是错了?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-05-25 19:58:37

11

主题

14

回帖

163

积分

注册会员

积分
163
发表于 2024-6-24 12:21:57 | 显示全部楼层 |阅读模式


截图202406241216459398.jpg

例程中数据发送没问题,在电脑端可以正常接收,但是例程中在接收的ID数据时,ID拼接
1.扩展帧是不是应该这样写——CAN->ID = (((u32)pdat[1] << 19) + ((u32)pdat[2] << 11) + ((u32)pdat[3] << 3) + pdat[4]) >> 3;

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-05-25 19:58:37

11

主题

14

回帖

163

积分

注册会员

积分
163
发表于 2024-6-24 12:33:59 | 显示全部楼层
2.标准帧是不是应该这样写——CAN->ID = ((pdat[1] << 5) + pdat[2]) >> 5;
回复 支持 反对

使用道具 举报 送花

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

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-6-24 13:24:00 | 显示全部楼层
例程的ID拼接没有问题,先将ID一个字节一个字节拼接起来,然后再整体右移。
标准帧整体右移5位,扩展帧整体右移3位
截图202406241322347466.jpg
截图202406241322514335.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 04:11 , Processed in 0.111943 second(s), 60 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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