23.4 Data Modes
There are four combinations of SCK phase and polarity with respect to serial data, which are determined by control bits CPHA and CPOL. Data bits are shifted out and latched in on opposite edges of the SCK signal, ensuring sufficient time for data signals to stabilize. The following table summarizes SPCR.CPOL and SPCR.CPHA settings.
SPI Mode | Conditions | Leading Edge | Trailing Edge |
---|---|---|---|
0 | CPOL=0, CPHA=0 | Sample (Rising) | Setup (Falling) |
1 | CPOL=0, CPHA=1 | Setup (Rising) | Sample (Falling) |
2 | CPOL=1, CPHA=0 | Sample (Falling) | Setup (Rising) |
3 | CPOL=1, CPHA=1 | Setup (Falling) | Sample (Rising) |
The SPI data transfer formats are shown in the following figure.