#include <stdbool.h>
Defines | |
#define | SPI_SPEED_FCPU_DIV_2 SPI_USE_DOUBLESPEED |
#define | SPI_SPEED_FCPU_DIV_4 0 |
#define | SPI_SPEED_FCPU_DIV_8 (SPI_USE_DOUBLESPEED | (1 << SPR0)) |
#define | SPI_SPEED_FCPU_DIV_16 (1 << SPR0) |
#define | SPI_SPEED_FCPU_DIV_32 (SPI_USE_DOUBLESPEED | (1 << SPR1)) |
#define | SPI_SPEED_FCPU_DIV_64 (SPI_USE_DOUBLESPEED | (1 << SPR1) | (1 < SPR0)) |
#define | SPI_SPEED_FCPU_DIV_128 ((1 << SPR1) | (1 < SPR0)) |
Functions | |
static void | SPI_Init (const uint8_t PrescalerMask, const bool Master) |
static uint8_t | SPI_TransferByte (const uint8_t Byte) ATTR_ALWAYSINLINE |
static void | SPI_SendByte (const uint8_t Byte) ATTR_ALWAYSINLINE |
static uint8_t | SPI_ReceiveByte (void) ATTR_ALWAYSINLINE ATTR_WARN_UNUSED_RESULT |
#define SPI_SPEED_FCPU_DIV_128 ((1 << SPR1) | (1 < SPR0)) |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 128.
#define SPI_SPEED_FCPU_DIV_16 (1 << SPR0) |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 16.
#define SPI_SPEED_FCPU_DIV_2 SPI_USE_DOUBLESPEED |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 2.
#define SPI_SPEED_FCPU_DIV_32 (SPI_USE_DOUBLESPEED | (1 << SPR1)) |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 32.
#define SPI_SPEED_FCPU_DIV_4 0 |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 4.
#define SPI_SPEED_FCPU_DIV_64 (SPI_USE_DOUBLESPEED | (1 << SPR1) | (1 < SPR0)) |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 64.
#define SPI_SPEED_FCPU_DIV_8 (SPI_USE_DOUBLESPEED | (1 << SPR0)) |
SPI prescaler mask for SPI_Init(). Divides the system clock by a factor of 8.
static void SPI_Init | ( | const uint8_t | PrescalerMask, | |
const bool | Master | |||
) | [inline, static] |
Initializes the SPI subsystem, ready for transfers. Must be called before calling any other SPI routines.
PrescalerMask | Prescaler mask to set the SPI clock speed | |
Master | If true, sets the SPI system to use master mode, slave if false |
static uint8_t SPI_ReceiveByte | ( | void | ) | [inline, static] |
Sends a dummy byte through the SPI interface, blocking until the transfer is complete. The response byte from the attached SPI device is returned.
static void SPI_SendByte | ( | const uint8_t | Byte | ) | [inline, static] |
Sends a byte through the SPI interface, blocking until the transfer is complete. The response byte sent to from the attached SPI device is ignored.
Byte | Byte to send through the SPI interface |
static uint8_t SPI_TransferByte | ( | const uint8_t | Byte | ) | [inline, static] |
Sends and receives a byte through the SPI interface, blocking until the transfer is complete.
Byte | Byte to send through the SPI interface |