主题中讨论的其他器件:ADS8688、 C2000WARE
工具/软件:TI C/C++编译器
28377D 的 MOSI 首先传输 MSB、 那么是否应转换 LSB 位、以便在28377D 中首先传输 LSB 位?
2. SPI MOSI 信号不是~~~μ s!
SPI 设置如下。
SPI -A GPIO 设置。
EALLOW;
GpioCtrlRegs.GPAGMUX2.bit.GPIO16 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO17 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO18 = 0x0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO19 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 0x1;// MOSI
GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 0x1;// MISO
GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0x1;// CLK
GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0x0;//芯片选择
GpioCtrlRegs.GPAPUD.ALL &= 0xFCB8FFFF;
GpioCtrlRegs.GPAQSEL2.ALL |= 0x000F303F;
GpioCtrlRegs.GPADIR.bit.GPIO19 = 1;
EDIS;
SPI -A 寄存器设置
EALLOW;
SpiaRegs.SPICCR.bit.SPISWRESET = 0;
SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;
SpiaRegs.SPICCR.bit.CLKPOLARITY = 1;
SpiaRegs.SPICTL.bit.CLK_PHASE = 1;
SpiaRegs.SPIBRR.ALL = 7;
SpiaRegs.SPICCR.bit.SPICHAR = 0x7;
SpiaRegs.SPISTS.bit.overoverover_flag = 0;
SpiaRegs.SPISTS.bit.INT_FLAG = 0;
SpiaRegs.SPISTS.bit.BUFFULL_FLAG = 0;
SpiaRegs.SPICCR.bit.SPISWRESET=1;
GpioCtrlRegs.GPADIR.bit.GPIO19 = 1;
EDIS;
发送数据的代码如下所示。
GpioDataRegs.GPACLEAR.bit.GPIO19=1;
while (SpiaRegs.SPISTS.bit.BUFFULL_FLAG == 1){}
SpiaRegs.SPITXBUF =发送数据<< 8;
while (SpiaRegs.SPISTS.bit.INT_flag!= 1){}
nDataSpi = SpiaRegs.SPIRXBUF;
GpioDataRegs.GPASET.bit.GPIO19=1;
RET = nDataSpi;
回程;
28377D 和 ADS8688通过 ISO7141进行连接。
SPI CLK:12.5MHz
3、从 SPI A 的 MOSI 看、显示的波形是输出、为什么打印图片中显示的波形?
移除 iSO7141芯片后、在测量波形时测量了相同的波形。