问答

汇集网友智慧,解决技术难题

21ic问答首页 - ads8866跟dsp28335通信问题

DSP TI 16位adc spi ADS 通信

ads8866跟dsp28335通信问题

kkppb2025-06-23
sp28335和ads8866(16位ad)使用spi通信,不管如何调整,读取到的值一直是65535,使用的ad使用的三线模式,DIN接DVDD,下面是我的代码:spi_init() {        EALLOW;    // SPI 线映射    GpioCtrlRegs.GPAMUX2.bit.GPIO16=1; // MOSI    GpioCtrlRegs.GPAMUX2.bit.GPIO17=1; // SOMI    GpioCtrlRegs.GPAMUX2.bit.GPIO18=1; // SCLK    GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0;   // GPIO19 做普通 GPIO    GpioCtrlRegs.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;}void ReadADSChain(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;}
回答 +关注 1
977人浏览 1人回答问题 分享 举报
1 个回答

您需要登录后才可以回复 登录 | 注册