This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SSI Master mode Receives only 0x00

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

  • Hello DongHoon,

    This post looks very similar to the one you posted before here:  

    This post already has a response too.

    Opening multiple posts will not increase the chance of getting a reply. On this forum, we (TI employees and other forum members) try to answer all the posts to the best of our ability.

    Thanks,

    Sai