Go to the source code of this file.
|  | 
| struct | vsf_spi_status_t | 
|  | Predefined VSF SPI status that can be reimplemented in specific HAL drivers. Even if the hardware doesn't support these features, these status must be kept.  More... 
 | 
|  | 
| struct | vsf_spi_capability_t | 
|  | Predefined VSF SPI capability that can be reimplemented in specific HAL drivers. Even if the hardware doesn't support these features, these capabilities must be kept.  More... 
 | 
|  | 
| struct | vsf_spi_t | 
|  | SPI instance structure, used for SPI Multi Class support, not needed in non Multi Class mode.  More... 
 | 
|  | 
|  | 
| enum | vsf_spi_mode_t { SPI_EN = 0x0040
,
 SPI_NSS_SET = 0x0100
,
 SPI_MODE_SLAVE = 0x0000
,
 SPI_MODE_MASTER = 0x0004
,
 SPI_DIRECTION_2LINES = 0x0000
,
 SPI_DIRECTION_2LINES_RXONLY = 0x0400
,
 SPI_DIRECTION_1LINE = 0x8000
,
 SPI_POLARITY_LOW = 0x0000
,
 SPI_POLARITY_HIGH = 0x0002
,
 SPI_PHASE_1EDGE = 0x0000
,
 SPI_PHASE_2EDGE = 0x0001
,
 SPI_NSS_SOFT = 0x0200
,
 SPI_NSS_HARD_INPUT = 0x0000
,
 SPI_NSS_HARD_OUTPUT = 0x0004
,
 SPI_FIRSTBIT_MSB = 0x0000
,
 SPI_FIRSTBIT_LSB = 0x0008
,
 SPI_CRCCALCULATION_DISABLE = 0x0000
,
 SPI_CRCCALCULATION_ENABLE = 0x2000
 }
 | 
|  | 
| enum | em_spi_data_size_t { VSF_SPI_DATASIZE_8BIT = 0x0000
,
 VSF_SPI_DATASIZE_16BIT = 0x0800
 }
 | 
|  | 
| enum | em_spi_clock_div_t { SPI_BAUDRATEPRESCALER_2 = 0x0000
,
 SPI_BAUDRATEPRESCALER_4 = 0x0008
,
 SPI_BAUDRATEPRESCALER_8 = 0x0010
,
 SPI_BAUDRATEPRESCALER_16 = 0x0018
,
 SPI_BAUDRATEPRESCALER_32 = 0x0020
,
 SPI_BAUDRATEPRESCALER_64 = 0x0028
,
 SPI_BAUDRATEPRESCALER_128 = 0x0030
,
 SPI_BAUDRATEPRESCALER_256 = 0x0038
 }
 | 
|  | 
| enum | em_spi_it_t { SPI_IT_TXE = 0x0080
,
 SPI_IT_RXNE = 0x0040
,
 SPI_IT_ERR = 0x0020
 }
 | 
|  | 
| enum | em_spi_sr_t { SPI_SR_TXE_IS_TRUE = 0x0002
,
 SPI_SR_RXNE_IS_TRUE = 0x0001
 }
 | 
|  | 
| enum | en_spi_clk_gpio_t { SPI1_CLK_EN = 0x1000
,
 SPI1_GPIO_CLK_EN = 0x0004
,
 SPI2_CLK_EN = 0x4000
,
 SPI2_GPIO_CLK_EN = 0x0008
,
 SPI1_GPIO_CLEAR = 0x000FFFFFU
,
 SPI1_GPIO_MODE = 0xB4B00000U
,
 SPI2_GPIO_CLEAR = 0x000FFFFFU
,
 SPI2_GPIO_MODE = 0x4B400000U
 }
 | 
|  | 
◆ vsf_spi_mode_t
| Enumerator | 
|---|
| SPI_EN |  | 
| SPI_NSS_SET |  | 
| SPI_MODE_SLAVE |  | 
| SPI_MODE_MASTER |  | 
| SPI_DIRECTION_2LINES |  | 
| SPI_DIRECTION_2LINES_RXONLY |  | 
| SPI_DIRECTION_1LINE |  | 
| SPI_POLARITY_LOW |  | 
| SPI_POLARITY_HIGH |  | 
| SPI_PHASE_1EDGE |  | 
| SPI_PHASE_2EDGE |  | 
| SPI_NSS_SOFT |  | 
| SPI_NSS_HARD_INPUT |  | 
| SPI_NSS_HARD_OUTPUT |  | 
| SPI_FIRSTBIT_MSB |  | 
| SPI_FIRSTBIT_LSB |  | 
| SPI_CRCCALCULATION_DISABLE |  | 
| SPI_CRCCALCULATION_ENABLE |  | 
 
 
◆ em_spi_data_size_t
| Enumerator | 
|---|
| VSF_SPI_DATASIZE_8BIT |  | 
| VSF_SPI_DATASIZE_16BIT |  | 
 
 
◆ em_spi_clock_div_t
| Enumerator | 
|---|
| SPI_BAUDRATEPRESCALER_2 |  | 
| SPI_BAUDRATEPRESCALER_4 |  | 
| SPI_BAUDRATEPRESCALER_8 |  | 
| SPI_BAUDRATEPRESCALER_16 |  | 
| SPI_BAUDRATEPRESCALER_32 |  | 
| SPI_BAUDRATEPRESCALER_64 |  | 
| SPI_BAUDRATEPRESCALER_128 |  | 
| SPI_BAUDRATEPRESCALER_256 |  | 
 
 
◆ em_spi_it_t
| Enumerator | 
|---|
| SPI_IT_TXE |  | 
| SPI_IT_RXNE |  | 
| SPI_IT_ERR |  | 
 
 
◆ em_spi_sr_t
| Enumerator | 
|---|
| SPI_SR_TXE_IS_TRUE |  | 
| SPI_SR_RXNE_IS_TRUE |  | 
 
 
◆ en_spi_clk_gpio_t
| Enumerator | 
|---|
| SPI1_CLK_EN |  | 
| SPI1_GPIO_CLK_EN |  | 
| SPI2_CLK_EN |  | 
| SPI2_GPIO_CLK_EN |  | 
| SPI1_GPIO_CLEAR |  | 
| SPI1_GPIO_MODE |  | 
| SPI2_GPIO_CLEAR |  | 
| SPI2_GPIO_MODE |  | 
 
 
◆ vsf_spi_get_status()
◆ vsf_spi_get_capability()
◆ vsf_spi_init()
Initialize a SPI instance. 
- Parameters
- 
  
    | [in,out] | spi_ptr | Pointer to SPI instance structure vsf_spi_t |  | [in] | cfg_ptr | Pointer to SPI configuration structure vsf_spi_cfg_t |  
 
- Returns
- vsf_err_t: VSF_ERR_NONE if initialization successful, otherwise returns error code 
- Note
- The configuration includes clock settings, transfer modes, and interrupt handlers 
- 
This must be called before any other SPI operations except for vsf_spi_capability() 
 
 
◆ vsf_spi_polarity_set()
◆ vsf_spi_polarity_get()
◆ vsf_spi_exchange()
◆ vsf_spi_request_exchange()
◆ vsf_spi