CAN例程中的字节读取ID拼接是不是错了?
例程中数据发送没问题,在电脑端可以正常接收,但是例程中在接收的ID数据时,ID拼接
1.扩展帧是不是应该这样写——CAN->ID = (((u32)pdat << 19) + ((u32)pdat << 11) + ((u32)pdat << 3) + pdat) >> 3;
2.标准帧是不是应该这样写——CAN->ID = ((pdat << 5) + pdat) >> 5; 例程的ID拼接没有问题,先将ID一个字节一个字节拼接起来,然后再整体右移。
标准帧整体右移5位,扩展帧整体右移3位
页:
[1]