请教一下,STM32F4采用SPI2模块接口作为主设备向ADS8332的CFR寄存器写入数据,时钟线空闲时高电平,在第二个时钟沿采集数据。但是不论写入什么配置数据(0xExxx),最后读取出来的数据总是0xfffe。请问这种情况是由于通信错误还是芯片已经坏掉了?波形图如下:前一段波形表示发送0xC000读取CFR配置,后一段波形表示发送0xE8FD配置CFR寄存器。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请教一下,STM32F4采用SPI2模块接口作为主设备向ADS8332的CFR寄存器写入数据,时钟线空闲时高电平,在第二个时钟沿采集数据。但是不论写入什么配置数据(0xExxx),最后读取出来的数据总是0xfffe。请问这种情况是由于通信错误还是芯片已经坏掉了?波形图如下:前一段波形表示发送0xC000读取CFR配置,后一段波形表示发送0xE8FD配置CFR寄存器。
谢谢,原因已找到,是我自身的问题。原因共有三:小大端模式写反,时钟极性写反,未仔细阅读datasheet。ADS8332的SPI传输模式正确配置如下:
SPI_InitTypeDefstruct.SPI_CPOL=SPI_CPOL_Low;
SPI_InitTypeDefstruct.SPI_CPHA=SPI_CPHA_2Edge;
SPI_InitTypeDefstruct.SPI_FirstBit=SPI_FirstBit_MSB;
错误贴出来望后来人不再走弯路。
谢谢,原因已找到,是我自身的问题。原因共有三:小大端模式写反,时钟极性写反,未仔细阅读datasheet。ADS8332的SPI传输模式正确配置如下:
SPI_InitTypeDefstruct.SPI_CPOL=SPI_CPOL_Low;
SPI_InitTypeDefstruct.SPI_CPHA=SPI_CPHA_2Edge;
SPI_InitTypeDefstruct.SPI_FirstBit=SPI_FirstBit_MSB;
错误贴出来望后来人不再走弯路。