您好,我在测试TMAG5273这款传感器的时候遇到了CRC校验失败的问题,
传感器配置为:
0x00寄存器配置为0x81,启用CRC并设置为16bit读取;
0x01寄存器配置为0x02,设置为连续测量模式;
0x02寄存器配置为0x40,设置测量z轴磁场;
其余寄存器默认。
I2C读取4字节,串口打印输出如下
[0;32mI (6512) soft_i2c_master: received byte 0x00,0x00,0x31,0xa3
[0;32mI (6522) soft_i2c_master: received byte 0x00,0x20,0xf1,0x43
[0;32mI (6522) soft_i2c_master: received byte 0x00,0x00,0xd1,0x0d
[0;32mI (6532) soft_i2c_master: received byte 0x00,0x00,0x91,0xca
[0;32mI (6542) soft_i2c_master: received byte 0x00,0x00,0x51,0x84
[0;32mI (6542) soft_i2c_master: received byte 0x00,0x00,0x11,0x43
前二位为z轴磁场值,第三位为状态值,第四位为CRC值。使用TI官方的CRC校验代码(使用改代码测试过数据手册中的参考值,输出正确),但CRC校验失败。在此前我查找了论坛中的相关问题,发现论坛中曾提到了需要计算CRC时需要加入命令字节数据,加入过后校验依旧失败。请问有什么可能得原因会导致这中现象?