8 years, 8 months ago.

Use SPI TX only on Nucleo F103

I'm using SPI as TX master on the Nucleo F103, meaning sending data to the slave only, not receiving from slave. As I understand mbed always configures SPI in TX/RX mode so it waits for incoming data, this is also seen on my scope, big gaps between the clock bursts. I would like to eleminate those gaps getting a higher speed, is there a way to configure this ? I did find the burstspi library but the nucleo F103 is not supported.

Thanks !

You can have a look at adding it to BurstSPI and submit a pull request ;).

For small amounts of data I wouldn't bother, but for large amounts (TFTs is what it is mainly used for, but also for other options such as LED strings it is used) BurstSPI is probably the easiest method to get maximum performance from your SPI.

posted by Erik - 18 Aug 2015

Turns out the STM32F1 series uses the same registers as the STM32F4. I tested is and it works. If you would like to include it in your library thas fine but Idon´t know how this pull requests work.

posted by Roland Kamp 19 Aug 2015

1 Answer

7 years, 4 months ago.

Check out the FRF flag (see datasheet), it can introduce a delay between 'bytes' that are sent out. It talks about Motorola versus TI standards for SPI. There's no api for setting this value, you need to do it in code to change the register.