The use cases contain several code fragments. The code fragments in the steps for setup can be copied into a custom initialization function, while the steps for usage can be copied into, e.g.the main application function.
void spi_master_init(
Spi *p_spi)
{
}
void spi_master_setup_device(
Spi *p_spi,
struct spi_device *device,
spi_flags_t flags, uint32_t baud_rate, board_spi_select_id_t sel_id)
{
CONFIG_SPI_MASTER_DELAY_BCT);
}
int16_t spi_calc_baudrate_div(const uint32_t baudrate, uint32_t mck)
Calculate the baudrate divider.
int16_t spi_set_baudrate_div(Spi *p_spi, uint32_t ul_pcs_ch, uint8_t uc_baudrate_divider)
Set Serial Clock Baud Rate divider value (SCBR).
void spi_set_bits_per_transfer(Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_bits)
Set number of bits per transfer.
void spi_set_transfer_delay(Spi *p_spi, uint32_t ul_pcs_ch, uint8_t uc_dlybs, uint8_t uc_dlybct)
Configure timing for SPI transfer.
void spi_set_clock_polarity(Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_polarity)
Set clock default state.
void spi_configure_cs_behavior(Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_cs_behavior)
Configure CS behavior for SPI transfer (spi_cs_behavior_t).
void spi_set_peripheral_chip_select_value(Spi *p_spi, uint32_t ul_value)
Set Peripheral Chip Select (PCS) value.
void spi_enable_clock(Spi *p_spi)
Enable SPI clock.
void spi_set_delay_between_chip_select(Spi *p_spi, uint32_t ul_delay)
Set delay between chip selects (in number of MCK clocks).
void spi_set_clock_phase(Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_phase)
Set Data Capture Phase.
@ SPI_CS_KEEP_LOW
CS does not rise until a new transfer is requested on different chip select.
static void spi_disable_mode_fault_detect(Spi *p_spi)
Disable Mode Fault Detection.
static void spi_set_fixed_peripheral_select(Spi *p_spi)
Set Fixed Peripheral Select.
static void spi_reset(Spi *p_spi)
Reset SPI and set it to Slave mode.
static void spi_disable_peripheral_select_decode(Spi *p_spi)
Disable Peripheral Select Decode.
static void spi_set_master_mode(Spi *p_spi)
Set SPI to Master mode.
#define spi_get_pcs(chip_sel_id)
Generate Peripheral Chip Select Value from Chip Select ID.
static void spi_disable_loopback(Spi *p_spi)
Disable loopback mode.