diff --git a/system/spi.c b/system/spi.c new file mode 100644 --- /dev/null +++ b/system/spi.c @@ -0,0 +1,28 @@ + +#include "stm32f0xx_hal_conf.h" +#include "stm32f0xx_hal_gpio_ex.h" +SPI_HandleTypeDef hspi1; + +void spi_init() +{ + hspi1.Instance = SPI1; + hspi1.Init.Mode = SPI_MODE_MASTER; + hspi1.Init.Direction = SPI_DIRECTION_2LINES; + hspi1.Init.DataSize = SPI_DATASIZE_8BIT; + hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; + hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; + hspi1.Init.NSS = SPI_NSS_SOFT; + hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; + hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; + hspi1.Init.TIMode = SPI_TIMODE_DISABLED; + hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED; + hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLED; + HAL_SPI_Init(&hspi1); +} + +SPI_HandleTypeDef* spi_get() +{ + return &hspi1; +} + +// vim:softtabstop=4 shiftwidth=4 expandtab