25 #ifndef ACE_SPI_HARD_SPI_FAST_INTERFACE_H
26 #define ACE_SPI_HARD_SPI_FAST_INTERFACE_H
53 uint32_t T_CLOCK_SPEED = 8000000
61 #if defined(ARDUINO_ARCH_STM32) || defined(ARDUINO_ARCH_SAMD)
62 static const BitOrder kBitOrder = MSBFIRST;
64 static const uint8_t kBitOrder = MSBFIRST;
68 static const uint8_t kSpiMode = SPI_MODE0;
96 pinModeFast(T_LATCH_PIN, OUTPUT);
101 pinModeFast(T_LATCH_PIN, INPUT);
106 mSpi.beginTransaction(SPISettings(T_CLOCK_SPEED, kBitOrder, kSpiMode));
107 digitalWriteFast(T_LATCH_PIN, LOW);
112 digitalWriteFast(T_LATCH_PIN, HIGH);
113 mSpi.endTransaction();
118 mSpi.transfer(value);
123 mSpi.transfer16(value);
141 void send16(uint8_t msb, uint8_t lsb)
const {
143 uint16_t value = ((uint16_t) msb) << 8 | (uint16_t) lsb;