-
ads8866跟dsp28335通信问题
sp28335和ads8866(16位ad)使用spi通信,不管如何调整,读取到的值一直是65535,使用的ad使用的三线模式,DIN接DVDD,下面是我的代码:spi_init(){EALLOW;//SPI线映射GpioCtrlRegs.GPAMUX2.bit.GPIO16=1;//MOSIGpioCtrlRegs.GPAMUX2.bit.GPIO17=1;//SOMIGpioCtrlRegs.GPAMUX2.bit.GPIO18=1;//SCLKGpioCtrlRegs.GPAMUX2.bit.GPIO19=0;//GPIO19做普通GPIOGpioCtrlRegs.GPADIR.bit.GPIO19=1;//输出GpioDataRegs.GPACLEAR.bit.GPIO19=1;GpioCtrlRegs.GPAQSEL2.bit.GPIO16=3;GpioCtrlRegs.GPAQSEL2.bit.GPIO17=3;GpioCtrlRegs.GPAQSEL2.bit.GPIO18=3;SpiaRegs.SPICCR.bit.SPISWRESET=0;SpiaRegs.SPICCR.bit.CLKPOLARITY=0;SpiaRegs.SPICCR.bit.SPILBK=0;SpiaRegs.SPICCR.bit.SPICHAR=15;SpiaRegs.SPICTL.bit.CLK_PHASE=1;SpiaRegs.SPICTL.bit.MASTER_SLAVE=1;SpiaRegs.SPICTL.bit.TALK=1;SpiaRegs.SPICTL.bit.SPIINTENA=0;SpiaRegs.SPIBRR=37;SpiaRegs.SPISTS.all=0x0000;SpiaRegs.SPICCR.bit.SPISWRESET=1;SpiaRegs.SPIPRI.bit.FREE=1;EDIS;}voidReadADSChain(void){//1)CONVST上升沿触发EALLOW;GpioDataRegs.GPASET.bit.GPIO19=1;DELAY_US(20);GpioDataRegs.GPACLEAR.bit.GPIO19=1;EDIS;SpiaRegs.SPISTS.bit.INT_FLAG=1;SpiaRegs.SPITXBUF=0x00;//发空字节while(!SpiaRegs.SPISTS.bit.INT_FLAG){}adcData[0]=SpiaRegs.SPIRXBUF;}
2025-06-23 1