61 #define SPI_CLOCK SPI_PRESC_DIV4_gc
86 #define SPI_PORTMUX PORTMUX_SPI0_DEFAULT_gc
89 #define SPI_PORTMUX PORTMUX_SPI0_DEFAULT_gc
107 #define SPI_PORT PORTA
120 #define SPI_MOSI PIN1_bm
133 #define SPI_MISO SET_PIN(2, _bm)
135 #ifndef SPI_MISO_PINCTRL
145 #define SPI_MISO_PINCTRL SET_PIN(2, CTRL)
159 #define SPI_SCK PIN3_bm
163 #define SPI_SS SET_PIN(4, _bm)
165 #ifndef SPI_ENABLE_MASTER_ABORT
178 #define SPI_ENABLE_MASTER_ABORT
180 #ifndef SPI_SS_PINCTRL
190 #define SPI_SS_PINCTRL SET_PIN(4, CTRL)
Macro definitions for port operations.
Enumerations for SPI interface configurations and status.
enum SPI_Status_t SPI_Status
Alias for enum SPI_Status_t representing SPI communication status codes.
Definition SPI_enums.h:110
enum SPI_Direction_t SPI_Direction
Alias for enum SPI_Direction_t representing SPI bit order options.
Definition SPI_enums.h:41
enum SPI_Select_t SPI_Select
Alias for enum SPI_Select_t representing SPI enable states.
Definition SPI_enums.h:86
enum SPI_Edge_t SPI_Phase
Alias for enum SPI_Edge_t representing the clock phase edge.
Definition SPI_enums.h:67
enum SPI_Edge_t SPI_Polarity
Alias for enum SPI_Edge_t representing the clock polarity edge.
Definition SPI_enums.h:62
unsigned char spi_transfer(unsigned char data)
Transfer a single byte of data over the SPI bus.
Definition spi.c:157
void spi_disable(void)
Disable the SPI hardware interface and reset related pins.
Definition spi.c:106
SPI_Status spi_init(SPI_Direction direction, SPI_Polarity setup, SPI_Phase sample)
Initialize the SPI hardware interface in master mode with specified configuration.
Definition spi.c:48
void spi_select(SPI_Select mode)
Control the SPI Slave Select (SS) pin to enable or disable the SPI slave device.
Definition spi.c:136