Skip to content

Commit a47ca8e

Browse files
fprfpistm
authored andcommitted
SPI functions validated
Signed-off-by: fpr <[email protected]>
1 parent 6602925 commit a47ca8e

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

cores/arduino/stm32/spi_com.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
#include "stm32_def.h"
5050
#include "hw_config.h"
5151
#include "spi_com.h"
52+
#include "PinAF_STM32F1.h"
5253

5354
#ifdef __cplusplus
5455
extern "C" {
@@ -275,7 +276,11 @@ void spi_init(spi_t *obj, uint32_t speed, spi_mode_e mode, uint8_t msb)
275276
GPIO_InitStruct.Mode = STM_PIN_MODE(pinmap_function(obj->pin_mosi,PinMap_SPI_MOSI));
276277
GPIO_InitStruct.Pull = STM_PIN_PUPD(pinmap_function(obj->pin_mosi,PinMap_SPI_MOSI));
277278
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
279+
#ifdef STM32F1xx
280+
pin_SetF1AFPin(STM_PIN_AFNUM(pinmap_function(obj->pin_mosi,PinMap_SPI_MOSI)));
281+
#else
278282
GPIO_InitStruct.Alternate = STM_PIN_AFNUM(pinmap_function(obj->pin_mosi,PinMap_SPI_MOSI));
283+
#endif /* STM32F1xx */
279284
HAL_GPIO_Init(port, &GPIO_InitStruct);
280285
}
281286

@@ -285,7 +290,11 @@ void spi_init(spi_t *obj, uint32_t speed, spi_mode_e mode, uint8_t msb)
285290
GPIO_InitStruct.Mode = STM_PIN_MODE(pinmap_function(obj->pin_miso,PinMap_SPI_MISO));
286291
GPIO_InitStruct.Pull = STM_PIN_PUPD(pinmap_function(obj->pin_miso,PinMap_SPI_MISO));
287292
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
293+
#ifdef STM32F1xx
294+
pin_SetF1AFPin(STM_PIN_AFNUM(pinmap_function(obj->pin_miso,PinMap_SPI_MISO)));
295+
#else
288296
GPIO_InitStruct.Alternate = STM_PIN_AFNUM(pinmap_function(obj->pin_miso,PinMap_SPI_MISO));
297+
#endif /* STM32F1xx */
289298
HAL_GPIO_Init(port, &GPIO_InitStruct);
290299
}
291300

@@ -303,7 +312,11 @@ void spi_init(spi_t *obj, uint32_t speed, spi_mode_e mode, uint8_t msb)
303312
GPIO_InitStruct.Pull = GPIO_PULLUP;
304313
}
305314
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
315+
#ifdef STM32F1xx
316+
pin_SetF1AFPin(STM_PIN_AFNUM(pinmap_function(obj->pin_sclk,PinMap_SPI_SCLK)));
317+
#else
306318
GPIO_InitStruct.Alternate = STM_PIN_AFNUM(pinmap_function(obj->pin_sclk,PinMap_SPI_SCLK));
319+
#endif /* STM32F1xx */
307320
HAL_GPIO_Init(port, &GPIO_InitStruct);
308321
}
309322

@@ -313,7 +326,11 @@ void spi_init(spi_t *obj, uint32_t speed, spi_mode_e mode, uint8_t msb)
313326
GPIO_InitStruct.Mode = STM_PIN_MODE(pinmap_function(obj->pin_ssel,PinMap_SPI_SSEL));
314327
GPIO_InitStruct.Pull = STM_PIN_PUPD(pinmap_function(obj->pin_ssel,PinMap_SPI_SSEL));
315328
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
329+
#ifdef STM32F1xx
330+
pin_SetF1AFPin(STM_PIN_AFNUM(pinmap_function(obj->pin_ssel,PinMap_SPI_SSEL)));
331+
#else
316332
GPIO_InitStruct.Alternate = STM_PIN_AFNUM(pinmap_function(obj->pin_ssel,PinMap_SPI_SSEL));
333+
#endif /* STM32F1xx */
317334
HAL_GPIO_Init(port, &GPIO_InitStruct);
318335
}
319336

0 commit comments

Comments
 (0)