void SPI_Configure(AT91S_SPI *spi, unsigned int id, unsigned int configuration) { AT91C_BASE_PMC->PMC_PCER = 1 << id; spi->SPI_CR = AT91C_SPI_SPIDIS; // Execute a software reset of the SPI twice spi->SPI_CR = AT91C_SPI_SWRST; spi->SPI_CR = AT91C_SPI_SWRST; spi->SPI_MR = configuration; }