Hello,
I want to ask what is the highest possible transfer rate between two CC3200 connected via SPI?
Currently I set up my SPI connection like this (basically taken from the example):
MAP_SPIConfigSetExpClk(GSPI_BASE,MAP_PRCMPeripheralClockGet(PRCM_GSPI), SPI_IF_BIT_RATE,SPI_MODE_MASTER,SPI_SUB_MODE_0, (SPI_SW_CTRL_CS | (HW_CTRL for the slave) SPI_4PIN_MODE | SPI_TURBO_OFF | SPI_CS_ACTIVEHIGH | SPI_WL_8));
However, the highest SPI_IF_BIT_RATE that will work for me is 800.000.
In the sources for energia it is set to 4.000.000 and in example/common/utils_if.c in the SDK it is even set to 20,000,000.
When I try to set these values however, I can no longer correctly transfer data. It seems that interrupt SPI_INT_TX_EMPTY is either not raised or missed (the corresponding counter is never increased).
I test the connection by sending an array of 64K uint8_t elements to the slave and copy it from the slave's rx buffer to its tx_buffer. At speed 800.000 (I am not sure what unit. It is called bitrate, but most people seem to refer to it as frequency) this transfer always works, at the higher speeds it fails even for smaller buffers.
Can anyone think of a reason, why the higher speeds do not work?
Thank you very much for your time!
Severin