Post Go back to editing

ADIS16488无法读取数据

我使用F28335与ADIS16488通过SPI通信,连接图和官方手册一样,供电为3.3V,先去用SPI读取传感器的PROD_ID,按照手册上写的,如果读取为0X4068,则代表SPI协议读取正确。
问题在于,我同样的连线,最开始上电能读取数据,ID和其他参数都没问题,放几天之后就不能读取数据了,输出始终为高电平。SPI设置没问题,用他读取ADIS16405可以读取。

  • void ADIS16488_init(void)

    {

    GpioDataRegs.GPASET.bit.GPIO27 = 1;   // iSensor_CS拉高

    DELAY_US(1000);

    GpioDataRegs.GPACLEAR.bit.GPIO27 = 1;   // iSensor_CS拉低

    DELAY_US(1000);

       Uint16 PROD_ID = 0;

       Mcbspb_SPI_TX(0x8003);             // 转到第3页

       Mcbspb_SPI_TX(0x8280);             // 软件复位配置

       Mcbspb_SPI_TX(0x8300);

       DELAY_US(500000);

       Mcbspb_SPI_TX(0x8000);            // 转到第0页 读取数据

       if(PROD_ID != 0x4068)

       {

               while(PROD_ID != 0x4068)

               {

       GpioDataRegs.GPACLEAR.bit.GPIO27 = 1;   // iSensor_CS拉低

       DELAY_US(1000);

       Mcbspb_SPI_TX(0x7E00);

       PROD_ID = Mcbspb_SPI_RX();

       GpioDataRegs.GPASET.bit.GPIO27 = 1;   // iSensor_CS拉高

       DELAY_US(1000);

               }

       }

       GpioDataRegs.GPACLEAR.bit.GPIO27 = 1;   // iSensor_CS拉低

       DELAY_US(1000);

    }

  • 你好 我也遇到同样的问题,请问下你解决了嘛 ,能加下qq嘛1309737053 请教下 谢谢