我的配置:(M0: 浮空,M1:上拉,M2:上拉),同步从模式,32位数据帧格式,开启Hamming code。
读写命令代码:
//读写32位命令函数
uint16_t ADS131A02_Write_CMD(uint16_t command)
{
uint16_t receive = 0X0000;
SPI2_CS_LOW();
receive = SPI2_Write_Read((uint8_t)(command>>8));
receive <<= 8;
receive |= SPI2_Write_Read((uint8_t)(command&0X00FF));
SPI2_Write_Read(0X00);
SPI2_Write_Read(0X00);
SPI2_CS_HIGH();
delay_us(10);
}
现象:这种代码,在关闭Hamming code下,能正确运行,读取各个命令的状态响应;而在开启Hamming code下,只能读取到复位状态响应FF02,读取不到其他命令的状态响应。
问题:这是为什么?在开启Hamming code下,该如何编写读写命令函数代码?(datasheet Page 39和40说的不够详细)