Other Parts Discussed in Thread: TM4C123GH6PM, CC1200
Hello,
I have a board with 2 processors:
1. TM4C123GH6PM (SSI MASTER).
2. CC1200 (SSI SLAVE).
8 bit mode 125000 bitrate.
I am sending bytes from the master to the slave.
in Master RXFF interrupt I receive the data with SSIDataGet,
But all I get is always 0x00, What can be the problem ?
Any Idea ?
void SSI_PinConfig(void)
{
// Enable Peripheral Clocks
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI3);
GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, NSS_PIN); // Making the SSI3Fss as GPIO type
SSIDisable(SSI3_BASE);
// Enable pin PD2 for SSI3 SSI3RX
GPIOPinConfigure(GPIO_PD2_SSI3RX);
GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_2);
// Enable pin PD0 for SSI3 SSI3CLK
GPIOPinConfigure(GPIO_PD0_SSI3CLK);
GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0);
// Enable pin PD3 for SSI3 SSI3TX
GPIOPinConfigure(GPIO_PD3_SSI3TX);
GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_3);
}
void RF_SpiInterfaceInit(void)
{
SSI_PinConfig();
SSIClockSourceSet(SSI3_BASE, SSI_CLOCK_SYSTEM);
SSIConfigSetExpClk(SSI3_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0,SSI_MODE_MASTER, 125000, 8);// defines base, System clk, Mode 0 = SPH = SPO = 0,Master, 125 KHz, no. of bits = 8 = 1 byte transfer
//SSIConfigSetExpClk(SSI3_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 8);
SSIEnable(SSI3_BASE);
SysCtlDelay(100000);
TRXEM_SPI_END();
SysCtlDelay(100000);
}
uint8_t spi_put(uint32_t Data)
{
uint32_t rxData;
SSIDataPut(SSI3_BASE, Data);
SSIDataGet(SSI3_BASE, &rxData);
printf("put = %08lX\n", Data);
printf("get = %08lX\n", rxData);
return rxData;
}
result ::::
put = 00000030
get = 00000000
put = 00000000
get = 00000000
put = 00000041
get = 00000000
put = 00000006
get = 00000000
put = 000000C1
get = 00000000
put = 00000000
get = 00000000
