TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C1231C3PM+ADS1254的通讯SPI问题

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

jason wang3:

研究了一下波形,发现是单片机用SSI3发送数据的时候 CLK的波形没有出来,初始化SSI3错了么?

我用的SSI2显示液晶,用和SSI3同样的初始化,就有波形。

这是为什么?

Lina Lian:

jason wang3,

建议你把这个帖子发在“Tiva™ ARM® Cortex™-M 微控制器”版块,可以得到更快的回复和帮助!这个是MSP430的版块。

BR,

Lina

赞(0)
未经允许不得转载:TI中文支持网 » TM4C1231C3PM+ADS1254的通讯SPI问题
分享到: 更多 (0)