Microchip® Advanced Software Framework

spi.c File Reference
#include "spi.h"

Data Structures

union  u_avr32_spi_cr_t
 
union  u_avr32_spi_csr_t
 
union  u_avr32_spi_idr_t
 
union  u_avr32_spi_ier_t
 
union  u_avr32_spi_mr_t
 
union  u_avr32_spi_tdr_t
 

Functions

int16_t getBaudDiv (const uint32_t baudrate, uint32_t pb_hz)
 Calculates the baudrate divider. More...
 
void spi_disable (volatile avr32_spi_t *spi)
 Disables the SPI. More...
 
void spi_enable (volatile avr32_spi_t *spi)
 Enables the SPI. More...
 
uint8_t spi_getStatus (volatile avr32_spi_t *spi)
 Gets status information from the SPI. More...
 
spi_status_t spi_initMaster (volatile avr32_spi_t *spi, const spi_options_t *options)
 Initializes the SPI in master mode. More...
 
spi_status_t spi_initSlave (volatile avr32_spi_t *spi, uint8_t bits, uint8_t spi_mode)
 Initializes the SPI in slave mode. More...
 
spi_status_t spi_initTest (volatile avr32_spi_t *spi)
 Sets up the SPI in a test mode where the transmitter is connected to the receiver (local loopback). More...
 
bool spi_is_enabled (volatile avr32_spi_t *spi)
 Tests if the SPI is enabled. More...
 
spi_status_t spi_read (volatile avr32_spi_t *spi, uint16_t *data)
 Reads one data word in master mode or in slave mode. More...
 
uint8_t spi_readRegisterFullCheck (volatile avr32_spi_t *spi)
 Checks if there is data in the receive register. More...
 
spi_status_t spi_selectChip (volatile avr32_spi_t *spi, uint8_t chip)
 Selects slave chip. More...
 
spi_status_t spi_selectionMode (volatile avr32_spi_t *spi, uint8_t variable_ps, uint8_t pcs_decode, uint8_t delay)
 Sets up how and when the slave chips are selected (master mode only). More...
 
spi_status_t spi_setupChipReg (volatile avr32_spi_t *spi, const spi_options_t *options, uint32_t pb_hz)
 Sets options for a specific slave chip. More...
 
spi_status_t spi_unselectChip (volatile avr32_spi_t *spi, uint8_t chip)
 Unselects slave chip. More...
 
spi_status_t spi_variableSlaveWrite (volatile avr32_spi_t *spi, uint16_t data, uint8_t pcs, uint8_t lastxfer)
 Selects a slave in master variable peripheral select mode and writes one data word to it. More...
 
spi_status_t spi_write (volatile avr32_spi_t *spi, uint16_t data)
 Writes one data word in master fixed peripheral select mode or in slave mode. More...
 
uint8_t spi_writeEndCheck (volatile avr32_spi_t *spi)
 Checks if all transmissions are complete. More...
 
uint8_t spi_writeRegisterEmptyCheck (volatile avr32_spi_t *spi)
 Checks if there is no data in the transmit register. More...