需要使用LMP90100自带的CRC校验功能,按datasheet所述,只需将EN_CRC位和DRDYB_AFT_CRC置位即可,即SPI_CRC_CN寄存器写入0x14。
实际测试时发现,CRC寄存器读出来的始终是0xFF,不知问题在哪里,求指教。
具体设置和现象:SPI_CRC_CN寄存器写入0x14,SPI_DRDYBCN寄存器的CRC_RST位按默认(为0)处理,依次读取SENDIAG_FLAGS寄存器(地址0x19)、ADC转换结果(地址0x1a-0x1c)和SPI_CRC_DAT寄存器(地址0x1d)时,SPI_CRC_DAT寄存器读到的时钟是0xff,其他寄存器符合实际工况(ADC模拟量数值和转换通道等)。
Nick Dai:
Hi Iorne,
能否试一下重复读取SPI_CRC_DAT而不去读ADC的结果时,SPI_CRC_DAT会是什么样的值?
lorne Jiang:
回复 Nick Dai:
刚试验过,仍旧全是FF
另一个例程里只读状态和AD值,全部符合逻辑。
lorne Jiang:
顶一顶,别沉了
还望有用过的兄弟帮忙分析一下,分享一下心得也好