SPI Clock speed

andychess
Posts: 2
Joined: Thu Aug 25, 2022 10:17 am

SPI Clock speed

Postby andychess » Sun Apr 30, 2023 6:57 am

Hi everyone,

Please accept my apologies if this has been covered elsewhere. I tried to search on the forum but for some reason it seemed to time out each time.

I'm wondering if someone can help to clarify what is meant by the parameter spi_device_interface_config_t .clock_speed_hz?

I have been following a tutorial that states this is the divider for the clock speed (e.g. 10) and indeed the espressif docs seem to suggest this:

int clock_speed_hz
Clock speed, divisors of the SPI clock_source, in Hz.


However, I was having no luck with this and eventually tried entering a clock speed directly and was surprised to see that the output on my logic analyser showed the correct frequency.

I checked the source code of the espidf lcd example on github and that seems to confirm that it is necessary to enter the actual clock speed.

ifdef CONFIG_LCD_OVERCLOCK
.clock_speed_hz=26*1000*1000, //Clock out at 26 MHz
#else
.clock_speed_hz=10*1000*1000, //Clock out at 10 MHz

Would it be possible to make the manual a little clearer on this point? Without a logic analyser this would have been quite difficult to spot.

Andy :-)

Who is online

Users browsing this forum: Corand and 89 guests