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.

TM4C1231C3PM+ADS1254的通讯SPI问题

Other Parts Discussed in Thread: ADS1254

ADS1254工作正常了,DRDY波形都有了。

可是每次下降沿中断来后,然后延时一段时间,先发送一个数据(产生SCK),我设定M4是主机,然后读取数据,

可视我用示波器看波形,发送数据和接收数据的时候根被没有SCK的波形,是怎么回事?

void InitSPI3(void)
{

//初始化SSI3

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); //GPIO port B needs to be enabled so these pins can be used.
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI3); // The SSI3 peripheral must be enabled for use.
SysCtlPeripheralEnable(GPIO_PORTD_BASE);

GPIOPinConfigure(GPIO_PD0_SSI3CLK);
GPIOPinConfigure(GPIO_PD2_SSI3RX);
GPIOPinConfigure(GPIO_PD3_SSI3TX);

GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);

SSIConfigSetExpClk(SSI3_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 100000, 8); //接收

SSIEnable(SSI3_BASE);

}

这个是先发送再接收

SSIDataPutNonBlocking(SSI3_BASE, ulDataTx[0]);
SSIDataPutNonBlocking(SSI3_BASE, ulDataTx[0]);
SSIDataPutNonBlocking(SSI3_BASE, ulDataTx[0]);
OSTimeDly(OS_TICKS_PER_SEC/10);

SSIDataGetNonBlocking(SSI3_BASE, &ulDataRx[0]);
SSIDataGetNonBlocking(SSI3_BASE, &ulDataRx[1]);
SSIDataGetNonBlocking(SSI3_BASE, &ulDataRx[2]);