SPI.h File Reference

#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

Detailed Description

Hardware SPI subsystem driver for the supported USB AVRs models.

Define Documentation

#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.


Function Documentation

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.

Parameters:
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.

Returns:
The response byte from the attached SPI device

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.

Parameters:
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.

Parameters:
Byte Byte to send through the SPI interface
Returns:
Response byte from the attached SPI device


Generated on Mon Feb 9 20:18:59 2009 for LUFA Library by  doxygen 1.5.7.1