mirror of
https://github.com/jhbruhn/eurorack.git
synced 2025-03-15 11:05:49 +00:00
38 lines
874 B
C++
38 lines
874 B
C++
#include "spi_mode.h"
|
|
#include <stm32f37x_conf.h>
|
|
|
|
uint8_t currentMode = 0;
|
|
|
|
void InitSPIDisplay(void);
|
|
|
|
void InitSPI(uint8_t mode)
|
|
{
|
|
if (currentMode != mode) {
|
|
switch (mode) {
|
|
case SPI_MODE_DISPLAY:
|
|
InitSPIDisplay();
|
|
break;
|
|
case SPI_MODE_DAC0:
|
|
case SPI_MODE_DAC1:
|
|
case SPI_MODE_USB:
|
|
break;
|
|
}
|
|
currentMode = mode;
|
|
}
|
|
}
|
|
|
|
void InitSPIDisplay(void)
|
|
{
|
|
SPI_InitTypeDef spi_init;
|
|
spi_init.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
|
|
spi_init.SPI_Mode = SPI_Mode_Master;
|
|
spi_init.SPI_DataSize = SPI_DataSize_8b;
|
|
spi_init.SPI_CPOL = SPI_CPOL_High;
|
|
spi_init.SPI_CPHA = SPI_CPHA_2Edge;
|
|
spi_init.SPI_NSS = SPI_NSS_Soft;
|
|
spi_init.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
|
|
spi_init.SPI_FirstBit = SPI_FirstBit_MSB;
|
|
spi_init.SPI_CRCPolynomial = 7;
|
|
SPI_Init(SPI2, &spi_init);
|
|
SPI_Cmd(SPI2, ENABLE);
|
|
}
|