sulajintan 发表于 2024-6-24 12:21:57

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





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

sulajintan 发表于 2024-6-24 12:33:59

2.标准帧是不是应该这样写——CAN->ID = ((pdat << 5) + pdat) >> 5;

乘风飞扬 发表于 2024-6-24 13:24:00

例程的ID拼接没有问题,先将ID一个字节一个字节拼接起来,然后再整体右移。
标准帧整体右移5位,扩展帧整体右移3位

页: [1]
查看完整版本: CAN例程中的字节读取ID拼接是不是错了?