summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorReinhard Feger <47209718+rf-eng@users.noreply.github.com>2020-08-22 18:48:21 +0200
committerDamien George <damien@micropython.org>2021-03-11 01:06:52 +1100
commit79c186f5c962b514cde21415d7a262cfdbddbd97 (patch)
treea79d997314e4e82fd6e814ebb7225a40c538082f
parent0facd891e7b4e226e7a905309f917dc271c1860b (diff)
downloadmicropython-79c186f5c962b514cde21415d7a262cfdbddbd97.tar.gz
micropython-79c186f5c962b514cde21415d7a262cfdbddbd97.zip
stm32/spi: Fix baudrate calculation for H7 series.
Fixes issue #6342.
-rw-r--r--ports/stm32/spi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ports/stm32/spi.c b/ports/stm32/spi.c
index 07374d7a38..f8ab791898 100644
--- a/ports/stm32/spi.c
+++ b/ports/stm32/spi.c
@@ -633,7 +633,11 @@ void spi_print(const mp_print_t *print, const spi_t *spi_obj, bool legacy) {
if (spi->State != HAL_SPI_STATE_RESET) {
if (spi->Init.Mode == SPI_MODE_MASTER) {
// compute baudrate
+ #if defined(STM32H7)
+ uint log_prescaler = (spi->Init.BaudRatePrescaler >> 28) + 1;
+ #else
uint log_prescaler = (spi->Init.BaudRatePrescaler >> 3) + 1;
+ #endif
uint baudrate = spi_get_source_freq(spi) >> log_prescaler;
if (legacy) {
mp_printf(print, ", SPI.MASTER");