Adafruit BLE: Set SPI2X bit only when F_CPU is 8MHz (#6671)
This commit is contained in:
parent
91bd2117df
commit
0d94730da0
1 changed files with 3 additions and 2 deletions
|
@ -151,9 +151,10 @@ static struct SPI_Settings spi;
|
||||||
// Initialize 4Mhz MSBFIRST MODE0
|
// Initialize 4Mhz MSBFIRST MODE0
|
||||||
void SPI_init(struct SPI_Settings *spi) {
|
void SPI_init(struct SPI_Settings *spi) {
|
||||||
spi->spcr = _BV(SPE) | _BV(MSTR);
|
spi->spcr = _BV(SPE) | _BV(MSTR);
|
||||||
|
#if F_CPU == 8000000
|
||||||
|
// For MCUs running at 8MHz (such as Feather 32U4, or 3.3V Pro Micros) we set the SPI doublespeed bit
|
||||||
spi->spsr = _BV(SPI2X);
|
spi->spsr = _BV(SPI2X);
|
||||||
|
#endif
|
||||||
static_assert(SpiBusSpeed == F_CPU / 2, "hard coded at 4Mhz");
|
|
||||||
|
|
||||||
ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
|
ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
|
||||||
// Ensure that SS is OUTPUT High
|
// Ensure that SS is OUTPUT High
|
||||||
|
|
Loading…
Reference in a new issue