瀏覽代碼

Adafruit BLE: Set SPI2X bit only when F_CPU is 8MHz (#6671)

fauxpark 6 年之前
父節點
當前提交
0d94730da0
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      tmk_core/protocol/lufa/adafruit_ble.cpp

+ 3 - 2
tmk_core/protocol/lufa/adafruit_ble.cpp

@@ -151,9 +151,10 @@ static struct SPI_Settings spi;
 // Initialize 4Mhz MSBFIRST MODE0
 void SPI_init(struct SPI_Settings *spi) {
     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);
-
-    static_assert(SpiBusSpeed == F_CPU / 2, "hard coded at 4Mhz");
+#endif
 
     ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
         // Ensure that SS is OUTPUT High