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]);