Hi,
We just added a new peripheral to our board that requires SSI communication, with the micro (tm4c1231h6pz) being master. I've followed the spi_master.c example, but can't get the SSI0 module to be responsive. After configuration, I see the select line (FFS) high, but when I monitor with a scope CLK, FFS, and TX during SSIDataPut, there are no changes on any of those lines (FFS stays high, CLK and TX show no output). Am I missing some step in the initialization? My code is below. The "while(SSIBusy(SSI0_BASE))" statement passes, as if the data actually went out.
I tried initializing SSI1 as a sanity check and got the same results.
Thanks,
Cindy
uint32_t pui32DataTx[3];
ROM_SysCtlClockSet(SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
GPIOPinConfigure(GPIO_PA2_SSI0CLK);
GPIOPinConfigure(GPIO_PA3_SSI0FSS);
GPIOPinConfigure(GPIO_PA4_SSI0RX);
GPIOPinConfigure(GPIO_PA5_SSI0TX);
GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2);
SSIConfigSetExpClk(SSI0_BASE, ROM_SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,
SSI_MODE_MASTER, 1000000, 8);
SSIEnable(SSI0_BASE);
pui32DataTx[0] = 's';
SSIDataPut(SSI0_BASE, pui32DataTx[0]);
while(SSIBusy(SSI0_BASE))
{
}