I am trying to communicate between TM4C1294NCPDT and TM4C123GH6PM using SPI but my code is not running
.I connected HW like below
129(MASTER) 123(SLAVE)
PA2(SSI0CLK) ----> PA2(SSI0CLK)
PA3(SSI0FSS) -----> PA2(SSI0FSS)
PA4(SSI0XDAT0) ----> PA4(SSI0RX)
PA5(SSI0XDAT1) <---- PA5(SSI0TX)
////////////////////////////////////////////////////////// TM4C1294NCPDT code////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
ui32SysClkFreq = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000);
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION);//chip select
SSIAdvModeSet(SSI0_BASE,SSI_ADV_MODE_LEGACY); //FOR SPI MODE
GPIOPinConfigure(GPIO_PA2_SSI0CLK);
GPIOPinConfigure(GPIO_PA3_SSI0FSS);
GPIOPinConfigure(GPIO_PA4_SSI0XDAT0);//TX
GPIOPinConfigure(GPIO_PA5_SSI0XDAT1); //RX
GPIOPinTypeSSI(GPIO_PORTA_BASE,GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_2);
GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_0);
SSIConfigSetExpClk(SSI0_BASE, ui32SysClkFreq, SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER, 10000, 8);
//GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, 1);
SSIEnable(SSI0_BASE);
//GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, 0);
SSIDataPut(SSI0_BASE,i);
while(SSIBusy(SSI0_BASE))
{
}
while(1);
}
////////////////////////////////////////////////////////////////////////////////////// TM4C123GH6PM code//////////////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
SSIAdvModeSet(SSI0_BASE,SSI_ADV_MODE_LEGACY);
GPIOPinConfigure(GPIO_PA2_SSI0CLK);
GPIOPinConfigure(GPIO_PA3_SSI0FSS);
GPIOPinConfigure(GPIO_PA4_SSI0RX);
GPIOPinConfigure(GPIO_PA5_SSI0TX);
GPIOPinTypeSSI(GPIO_PORTA_BASE,GPIO_PIN_4|GPIO_PIN_3|GPIO_PIN_2);
SSIConfigSetExpClk(SSI0_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_SLAVE, 10000, 8);
SSIEnable(SSI0_BASE);
SSIDataGet(SSI0_BASE,&i);
UARTprintf("i=%d\n",i);
SSIDataPut(SSI0_BASE,j);
while(1);
}
Also tell me what is the configuration for changing ssi to spi?