Arduino Function: SPI.setDataMode


The Serial Peripheral Interface Bus or SPI bus is a synchronous serial data link standard named by Motorola that operates in full duplex mode. Devices communicate in a master/slave mode where the master device initiates the data frame. Multiple slave devices are allowed with individual slave select (chip select) lines using a pin for each device. The setDataMode() method sets the SPI communication mode: SPI_MODE0 (leading edge Sample rising, trailing edge Setup falling), SPI_MODE1 (leading edge Setup rising, trailing edge Sample falling), SPI_MODE2 (leading edge Sample falling, trailing edge Setup rising), SPI_MODE3 (leading edge Setup falling, trailing edge Sample rising). SPI_MODE3 is the default data mode for SPI.begin() with no parameters. On Wiring v1 boards the SPI pins are: SS=24, MOSI=25, MISO=26 and SCK=27


SPI.setDataMode(slaveSelectPin, mode)(Arduino Due only)


  • mode:
    • SPI_MODE0
    • SPI_MODE1
    • SPI_MODE2
    • SPI_MODE3
  • slaveSelectPin:
    • slave device SS pin (Arduino Due only)

Based on the reference originally written by Arduino Community, and