Functions
Configuration functions
Peripheral Driver » LL Driver » SPI » Functions

## Functions
__STATIC_INLINE void | ll_spi_enable_ss_toggle (ssi_regs_t *SPIx)
| Enable slave select toggle. More...
__STATIC_INLINE void | ll_spi_disable_ss_toggle (ssi_regs_t *SPIx)
| Disable slave select toggle. More...
__STATIC_INLINE uint32_t | ll_spi_is_enabled_ss_toggle (ssi_regs_t *SPIx)
| Check if slave select toggle is enabled. More...
__STATIC_INLINE void | ll_spi_set_frame_format (ssi_regs_t *SPIx, uint32_t frf)
| Set data frame format for transmitting/receiving the data. More...
__STATIC_INLINE uint32_t | ll_spi_get_frame_format (ssi_regs_t *SPIx)
| Get data frame format for transmitting/receiving the data. More...
__STATIC_INLINE void | ll_spi_set_data_size (ssi_regs_t *SPIx, uint32_t size)
| Set frame data size. More...
__STATIC_INLINE uint32_t | ll_spi_get_data_size (ssi_regs_t *SPIx)
| Get frame data size. More...
__STATIC_INLINE void | ll_spi_set_control_frame_size (ssi_regs_t *SPIx, uint32_t size)
| Set the length of the control word for the Microwire frame format. More...
__STATIC_INLINE uint32_t | ll_spi_get_control_frame_size (ssi_regs_t *SPIx)
| Get the length of the control word for the Microwire frame format. More...
__STATIC_INLINE void | ll_spi_enable_test_mode (ssi_regs_t *SPIx)
| Enable SPI test mode. More...
__STATIC_INLINE void | ll_spi_disable_test_mode (ssi_regs_t *SPIx)
| Disable SPI test mode. More...
__STATIC_INLINE uint32_t | ll_spi_is_enabled_test_mode (ssi_regs_t *SPIx)
| Check if SPI test mode is enabled. More...
__STATIC_INLINE void | ll_spi_enable_slave_out (ssi_regs_t *SPIx)
| Enable slave output. More...
__STATIC_INLINE void | ll_spi_disable_salve_out (ssi_regs_t *SPIx)
| Disable slave output. More...
__STATIC_INLINE uint32_t | ll_spi_is_enabled_slave_out (ssi_regs_t *SPIx)
| Check if slave output is enabled. More...
__STATIC_INLINE void | ll_spi_set_transfer_direction (ssi_regs_t *SPIx, uint32_t transfer_direction)
| Set transfer direction mode. More...
__STATIC_INLINE uint32_t | ll_spi_get_transfer_direction (ssi_regs_t *SPIx)
| Get transfer direction mode. More...
__STATIC_INLINE void | ll_spi_set_clock_polarity (ssi_regs_t *SPIx, uint32_t clock_polarity)
| Set clock polarity. More...
__STATIC_INLINE uint32_t | ll_spi_get_clock_polarity (ssi_regs_t *SPIx)
| Get clock polarity. More...
__STATIC_INLINE void | ll_spi_set_clock_phase (ssi_regs_t *SPIx, uint32_t clock_phase)
| Set clock phase. More...
__STATIC_INLINE uint32_t | ll_spi_get_clock_phase (ssi_regs_t *SPIx)
| Get clock phase. More...
__STATIC_INLINE void | ll_spi_set_standard (ssi_regs_t *SPIx, uint32_t standard)
| Set serial protocol used. More...
__STATIC_INLINE uint32_t | ll_spi_get_standard (ssi_regs_t *SPIx)
| Get serial protocol used. More...
__STATIC_INLINE void | ll_spi_set_receive_size (ssi_regs_t *SPIx, uint32_t size)
| Set the number of data frames to be continuously received. More...
__STATIC_INLINE uint32_t | ll_spi_get_receive_size (ssi_regs_t *SPIx)
| Get the number of data frames to be continuously received. More...
__STATIC_INLINE void | ll_spi_enable (ssi_regs_t *SPIx)
| Enable SPI peripheral. More...
__STATIC_INLINE void | ll_spi_disable (ssi_regs_t *SPIx)
| Disable SPI peripheral. More...
__STATIC_INLINE uint32_t | ll_spi_is_enabled (ssi_regs_t *SPIx)
| Check if SPI peripheral is enabled. More...
__STATIC_INLINE void | ll_spi_enable_micro_handshake (ssi_regs_t *SPIx)
| Enable Handshake in Microwire mode. More...
__STATIC_INLINE void | ll_spi_disable_micro_handshake (ssi_regs_t *SPIx)
| Disable Handshake in Microwire mode. More...
__STATIC_INLINE uint32_t | ll_spi_is_enabled_micro_handshake (ssi_regs_t *SPIx)
| Check if Handshake in Microwire mode is enabled. More...
__STATIC_INLINE void | ll_spi_set_micro_transfer_direction (ssi_regs_t *SPIx, uint32_t transfer_direction)
| Set transfer direction mode in Microwire mode. More...
__STATIC_INLINE uint32_t | ll_spi_get_micro_transfer_direction (ssi_regs_t *SPIx)
| Get transfer direction mode in Microwire mode. More...
__STATIC_INLINE void | ll_spi_set_micro_transfer_mode (ssi_regs_t *SPIx, uint32_t transfer_mode)
| Set transfer mode in Microwire mode. More...
__STATIC_INLINE uint32_t | ll_spi_get_micro_transfer_mode (ssi_regs_t *SPIx)
| Get transfer mode in Microwire mode. More...
__STATIC_INLINE void | ll_spi_enable_ss (ssi_regs_t *SPIx, uint32_t ss)
| Enable slave select. More...
__STATIC_INLINE void | ll_spi_disable_ss (ssi_regs_t *SPIx, uint32_t ss)
| Disable slave select. More...
__STATIC_INLINE uint32_t | ll_spi_is_enabled_ss (ssi_regs_t *SPIx, uint32_t ss)
| Check if slave select is enabled. More...
__STATIC_INLINE void | ll_spi_set_baud_rate_prescaler (ssi_regs_t *SPIx, uint32_t baud_rate)
| Set baud rate prescaler. More...
__STATIC_INLINE uint32_t | ll_spi_get_baud_rate_prescaler (ssi_regs_t *SPIx)
| Get baud rate prescaler. More...
__STATIC_INLINE void | ll_spi_set_tx_fifo_threshold (ssi_regs_t *SPIx, uint32_t threshold)
| Set threshold of TXFIFO that triggers an TXE event. More...
__STATIC_INLINE uint32_t | ll_spi_get_tx_fifo_threshold (ssi_regs_t *SPIx)
| Get threshold of TXFIFO that triggers an TXE event. More...
__STATIC_INLINE void | ll_spi_set_rx_fifo_threshold (ssi_regs_t *SPIx, uint32_t threshold)
| Set threshold of RXFIFO that triggers an RXNE event. More...
__STATIC_INLINE uint32_t | ll_spi_get_rx_fifo_threshold (ssi_regs_t *SPIx)
| Get threshold of RXFIFO that triggers an RXNE event. More...
__STATIC_INLINE uint32_t | ll_spi_get_tx_fifo_level (ssi_regs_t *SPIx)
| Get FIFO Transmission Level. More...
__STATIC_INLINE uint32_t | ll_spi_get_rx_fifo_level (ssi_regs_t *SPIx)
| Get FIFO reception Level. More...
__STATIC_INLINE uint32_t | ll_spi_get_id_code (ssi_regs_t *SPIx)
| Get ID code. More...
__STATIC_INLINE uint32_t | ll_spi_get_version (ssi_regs_t *SPIx)
| Get IP version. More...

## Detailed Description

## Function Documentation

## ◆ ll_spi_disable()

__STATIC_INLINE void ll_spi_disable | ( | ssi_regs_t * | SPIx | ) |

Disable SPI peripheral.

Note
  When disabling the SPI, follow the procedure described in the Reference Manual.

Register | BitsName
--- | ---
SSI_EN | EN

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_disable_micro_handshake()

__STATIC_INLINE void ll_spi_disable_micro_handshake | ( | ssi_regs_t * | SPIx | ) |

Disable Handshake in Microwire mode.

Register | BitsName
--- | ---
MWC | MHS

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_disable_salve_out()

__STATIC_INLINE void ll_spi_disable_salve_out | ( | ssi_regs_t * | SPIx | ) |

Disable slave output.

Register | BitsName
--- | ---
CTRL0 | SLVOE

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_disable_ss()

__STATIC_INLINE void ll_spi_disable_ss | ( | ssi_regs_t * | SPIx,
|  | uint32_t | ss
| ) |  |

Disable slave select.

Register | BitsName
--- | ---
SE | SLAVE1
SE | SLAVE0

Parameters

  SPIx | SPI instance
  ss | This parameter can be one of the following values: LL_SSI_SLAVE1 LL_SSI_SLAVE0

Return values

  None |

## ◆ ll_spi_disable_ss_toggle()

__STATIC_INLINE void ll_spi_disable_ss_toggle | ( | ssi_regs_t * | SPIx | ) |

Disable slave select toggle.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
CTRL0 | SSTEN

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_disable_test_mode()

__STATIC_INLINE void ll_spi_disable_test_mode | ( | ssi_regs_t * | SPIx | ) |

Disable SPI test mode.

Register | BitsName
--- | ---
CTRL0 | SRL

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_enable()

__STATIC_INLINE void ll_spi_enable | ( | ssi_regs_t * | SPIx | ) |

Enable SPI peripheral.

Register | BitsName
--- | ---
SSI_EN | EN

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_enable_micro_handshake()

__STATIC_INLINE void ll_spi_enable_micro_handshake | ( | ssi_regs_t * | SPIx | ) |

Enable Handshake in Microwire mode.

Register | BitsName
--- | ---
MWC | MHS

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_enable_slave_out()

__STATIC_INLINE void ll_spi_enable_slave_out | ( | ssi_regs_t * | SPIx | ) |

Enable slave output.

Register | BitsName
--- | ---
CTRL0 | SLVOE

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_enable_ss()

__STATIC_INLINE void ll_spi_enable_ss | ( | ssi_regs_t * | SPIx,
|  | uint32_t | ss
| ) |  |

Enable slave select.

Register | BitsName
--- | ---
SE | SLAVE1
SE | SLAVE0

Parameters

  SPIx | SPI instance
  ss | This parameter can be one of the following values: LL_SSI_SLAVE1 LL_SSI_SLAVE0

Return values

  None |

## ◆ ll_spi_enable_ss_toggle()

__STATIC_INLINE void ll_spi_enable_ss_toggle | ( | ssi_regs_t * | SPIx | ) |

Enable slave select toggle.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
CTRL0 | SSTEN

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_enable_test_mode()

__STATIC_INLINE void ll_spi_enable_test_mode | ( | ssi_regs_t * | SPIx | ) |

Enable SPI test mode.

Register | BitsName
--- | ---
CTRL0 | SRL

Parameters

  SPIx | SPI instance

Return values

  None |

## ◆ ll_spi_get_baud_rate_prescaler()

__STATIC_INLINE uint32_t ll_spi_get_baud_rate_prescaler | ( | ssi_regs_t * | SPIx | ) |

Get baud rate prescaler.

Register | BitsName
--- | ---
BAUD | SCKDIV

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one even value between 2 and 65534.

## ◆ ll_spi_get_clock_phase()

__STATIC_INLINE uint32_t ll_spi_get_clock_phase | ( | ssi_regs_t * | SPIx | ) |

Get clock phase.

Register | BitsName
--- | ---
CTRL0 | SCPHA

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_SCPHA_1EDGE LL_SSI_SCPHA_2EDGE

## ◆ ll_spi_get_clock_polarity()

__STATIC_INLINE uint32_t ll_spi_get_clock_polarity | ( | ssi_regs_t * | SPIx | ) |

Get clock polarity.

Register | BitsName
--- | ---
CTRL0 | SCPOL

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_SCPOL_LOW LL_SSI_SCPOL_HIGH

## ◆ ll_spi_get_control_frame_size()

__STATIC_INLINE uint32_t ll_spi_get_control_frame_size | ( | ssi_regs_t * | SPIx | ) |

Get the length of the control word for the Microwire frame format.

Note
  This bit should be written only when SPI is disabled (SSI_EN = 0) for correct operation.

Register | BitsName
--- | ---
CTRL0 | CFS

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_MW_CMDSIZE_1BIT LL_SSI_MW_CMDSIZE_2BIT LL_SSI_MW_CMDSIZE_3BIT LL_SSI_MW_CMDSIZE_4BIT LL_SSI_MW_CMDSIZE_5BIT LL_SSI_MW_CMDSIZE_6BIT LL_SSI_MW_CMDSIZE_7BIT LL_SSI_MW_CMDSIZE_8BIT LL_SSI_MW_CMDSIZE_9BIT LL_SSI_MW_CMDSIZE_10BIT LL_SSI_MW_CMDSIZE_11BIT LL_SSI_MW_CMDSIZE_12BIT LL_SSI_MW_CMDSIZE_13BIT LL_SSI_MW_CMDSIZE_14BIT LL_SSI_MW_CMDSIZE_15BIT LL_SSI_MW_CMDSIZE_16BIT

## ◆ ll_spi_get_data_size()

__STATIC_INLINE uint32_t ll_spi_get_data_size | ( | ssi_regs_t * | SPIx | ) |

Get frame data size.

Register | BitsName
--- | ---
CTRL0 | DFS32

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_DATASIZE_4BIT LL_SSI_DATASIZE_5BIT LL_SSI_DATASIZE_6BIT LL_SSI_DATASIZE_7BIT LL_SSI_DATASIZE_8BIT LL_SSI_DATASIZE_9BIT LL_SSI_DATASIZE_10BIT LL_SSI_DATASIZE_11BIT LL_SSI_DATASIZE_12BIT LL_SSI_DATASIZE_13BIT LL_SSI_DATASIZE_14BIT LL_SSI_DATASIZE_15BIT LL_SSI_DATASIZE_16BIT LL_SSI_DATASIZE_17BIT LL_SSI_DATASIZE_18BIT LL_SSI_DATASIZE_19BIT LL_SSI_DATASIZE_20BIT LL_SSI_DATASIZE_21BIT LL_SSI_DATASIZE_22BIT LL_SSI_DATASIZE_23BIT LL_SSI_DATASIZE_24BIT LL_SSI_DATASIZE_25BIT LL_SSI_DATASIZE_26BIT LL_SSI_DATASIZE_27BIT LL_SSI_DATASIZE_28BIT LL_SSI_DATASIZE_29BIT LL_SSI_DATASIZE_30BIT LL_SSI_DATASIZE_31BIT LL_SSI_DATASIZE_32BIT

## ◆ ll_spi_get_frame_format()

__STATIC_INLINE uint32_t ll_spi_get_frame_format | ( | ssi_regs_t * | SPIx | ) |

Get data frame format for transmitting/receiving the data.

Note
  This bit should be written only when SPI is disabled (SSI_EN = 0) for correct operation.

Register | BitsName
--- | ---
CTRL0 | SPIFRF

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_FRF_SPI LL_SSI_FRF_DUALSPI LL_SSI_FRF_QUADSPI

## ◆ ll_spi_get_id_code()

__STATIC_INLINE uint32_t ll_spi_get_id_code | ( | ssi_regs_t * | SPIx | ) |

Get ID code.

Register | BitsName
--- | ---
IDCODE | ID

Parameters

  SPIx | SPI instance

Return values

  Returned | value is const.

## ◆ ll_spi_get_micro_transfer_direction()

__STATIC_INLINE uint32_t ll_spi_get_micro_transfer_direction | ( | ssi_regs_t * | SPIx | ) |

Get transfer direction mode in Microwire mode.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
MWC | MDD

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_MICROWIRE_RX LL_SSI_MICROWIRE_TX

## ◆ ll_spi_get_micro_transfer_mode()

__STATIC_INLINE uint32_t ll_spi_get_micro_transfer_mode | ( | ssi_regs_t * | SPIx | ) |

Get transfer mode in Microwire mode.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
MWC | MWMOD

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_MICROWIRE_NON_SEQUENTIAL LL_SSI_MICROWIRE_SEQUENTIAL

## ◆ ll_spi_get_receive_size()

__STATIC_INLINE uint32_t ll_spi_get_receive_size | ( | ssi_regs_t * | SPIx | ) |

Get the number of data frames to be continuously received.

Note
  These bits should not be changed when communication is ongoing. This bits are effect when TMOD = 2b10 or 2b11. This bits are not effect in SPIS.

Register | BitsName
--- | ---
CTRL1 | NDF

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: 0 ~ 65535

## ◆ ll_spi_get_rx_fifo_level()

__STATIC_INLINE uint32_t ll_spi_get_rx_fifo_level | ( | ssi_regs_t * | SPIx | ) |

Get FIFO reception Level.

Register | BitsName
--- | ---
RXFL | RXTFL

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: 0 ~ 8

## ◆ ll_spi_get_rx_fifo_threshold()

__STATIC_INLINE uint32_t ll_spi_get_rx_fifo_threshold | ( | ssi_regs_t * | SPIx | ) |

Get threshold of RXFIFO that triggers an RXNE event.

Register | BitsName
--- | ---
RXFTL | RFT

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: 0 ~ 7

## ◆ ll_spi_get_standard()

__STATIC_INLINE uint32_t ll_spi_get_standard | ( | ssi_regs_t * | SPIx | ) |

Get serial protocol used.

Register | BitsName
--- | ---
CTRL0 | FRF

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_PROTOCOL_MOTOROLA LL_SSI_PROTOCOL_TI LL_SSI_PROTOCOL_MICROWIRE

## ◆ ll_spi_get_transfer_direction()

__STATIC_INLINE uint32_t ll_spi_get_transfer_direction | ( | ssi_regs_t * | SPIx | ) |

Get transfer direction mode.

Register | BitsName
--- | ---
CTRL0 | TMOD

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: LL_SSI_FULL_DUPLEX LL_SSI_SIMPLEX_TX LL_SSI_SIMPLEX_RX LL_SSI_READ_EEPROM

## ◆ ll_spi_get_tx_fifo_level()

__STATIC_INLINE uint32_t ll_spi_get_tx_fifo_level | ( | ssi_regs_t * | SPIx | ) |

Get FIFO Transmission Level.

Register | BitsName
--- | ---
TXFL | TXTFL

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: 0 ~ 8

## ◆ ll_spi_get_tx_fifo_threshold()

__STATIC_INLINE uint32_t ll_spi_get_tx_fifo_threshold | ( | ssi_regs_t * | SPIx | ) |

Get threshold of TXFIFO that triggers an TXE event.

Register | BitsName
--- | ---
TXFTL | TFT

Parameters

  SPIx | SPI instance

Return values

  Returned | value can be one of the following values: 0 ~ 7

## ◆ ll_spi_get_version()

__STATIC_INLINE uint32_t ll_spi_get_version | ( | ssi_regs_t * | SPIx | ) |

Get IP version.

Register | BitsName
--- | ---
COMP | VERSION

Parameters

  SPIx | SPI instance

Return values

  Returned | value is const.

## ◆ ll_spi_is_enabled()

__STATIC_INLINE uint32_t ll_spi_is_enabled | ( | ssi_regs_t * | SPIx | ) |

Check if SPI peripheral is enabled.

Register | BitsName
--- | ---
SSI_EN | EN

Parameters

  SPIx | SPI instance

Return values

  State | of bit (1 or 0).

## ◆ ll_spi_is_enabled_micro_handshake()

__STATIC_INLINE uint32_t ll_spi_is_enabled_micro_handshake | ( | ssi_regs_t * | SPIx | ) |

Check if Handshake in Microwire mode is enabled.

Register | BitsName
--- | ---
MWC | MHS

Parameters

  SPIx | SPI instance

Return values

  State | of bit (1 or 0).

## ◆ ll_spi_is_enabled_slave_out()

__STATIC_INLINE uint32_t ll_spi_is_enabled_slave_out | ( | ssi_regs_t * | SPIx | ) |

Check if slave output is enabled.

Register | BitsName
--- | ---
CTRL0 | SLVOE

Parameters

  SPIx | SPI instance

Return values

  State | of bit (1 or 0).

## ◆ ll_spi_is_enabled_ss()

__STATIC_INLINE uint32_t ll_spi_is_enabled_ss | ( | ssi_regs_t * | SPIx,
|  | uint32_t | ss
| ) |  |

Check if slave select is enabled.

Register | BitsName
--- | ---
SE | SLAVE1
SE | SLAVE0

Parameters

  SPIx | SPI instance
  ss | This parameter can be one of the following values: LL_SSI_SLAVE1 LL_SSI_SLAVE0

Return values

  State | of bit (1 or 0).

## ◆ ll_spi_is_enabled_ss_toggle()

__STATIC_INLINE uint32_t ll_spi_is_enabled_ss_toggle | ( | ssi_regs_t * | SPIx | ) |

Check if slave select toggle is enabled.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
CTRL0 | SSTEN

Parameters

  SPIx | SPI instance

Return values

  State | of bit (1 or 0).

## ◆ ll_spi_is_enabled_test_mode()

__STATIC_INLINE uint32_t ll_spi_is_enabled_test_mode | ( | ssi_regs_t * | SPIx | ) |

Check if SPI test mode is enabled.

Register | BitsName
--- | ---
CTRL0 | SRL

Parameters

  SPIx | SPI instance

Return values

  State | of bit (1 or 0).

## ◆ ll_spi_set_baud_rate_prescaler()

__STATIC_INLINE void ll_spi_set_baud_rate_prescaler | ( | ssi_regs_t * | SPIx,
|  | uint32_t | baud_rate
| ) |  |

Set baud rate prescaler.

Note
  These bits should not be changed when communication is ongoing. SPI BaudRate = fPCLK/Prescaler.

Register | BitsName
--- | ---
BAUD | SCKDIV

Parameters

  SPIx | SPI instance
  baud_rate | This parameter can be one even value between 2 and 65534, if the value is 0, the SCLK is disable.

Return values

  None |

## ◆ ll_spi_set_clock_phase()

__STATIC_INLINE void ll_spi_set_clock_phase | ( | ssi_regs_t * | SPIx,
|  | uint32_t | clock_phase
| ) |  |

Set clock phase.

Note
  This bit should not be changed when communication is ongoing. This bit is not used in SPI TI mode.

Register | BitsName
--- | ---
CTRL0 | SCPHA

Parameters

  SPIx | SPI instance
  clock_phase | This parameter can be one of the following values: LL_SSI_SCPHA_1EDGE LL_SSI_SCPHA_2EDGE

Return values

  None |

## ◆ ll_spi_set_clock_polarity()

__STATIC_INLINE void ll_spi_set_clock_polarity | ( | ssi_regs_t * | SPIx,
|  | uint32_t | clock_polarity
| ) |  |

Set clock polarity.

Note
  This bit should not be changed when communication is ongoing. This bit is not used in SPI TI mode.

Register | BitsName
--- | ---
CTRL0 | SCPOL

Parameters

  SPIx | SPI instance
  clock_polarity | This parameter can be one of the following values: LL_SSI_SCPOL_LOW LL_SSI_SCPOL_HIGH

Return values

  None |

## ◆ ll_spi_set_control_frame_size()

__STATIC_INLINE void ll_spi_set_control_frame_size | ( | ssi_regs_t * | SPIx,
|  | uint32_t | size
| ) |  |

Set the length of the control word for the Microwire frame format.

Note
  This bit should be written only when SPI is disabled (SSI_EN = 0) for correct operation.

Register | BitsName
--- | ---
CTRL0 | CFS

Parameters

  SPIx | SPI instance
  size | This parameter can be one of the following values: LL_SSI_MW_CMDSIZE_1BIT LL_SSI_MW_CMDSIZE_2BIT LL_SSI_MW_CMDSIZE_3BIT LL_SSI_MW_CMDSIZE_4BIT LL_SSI_MW_CMDSIZE_5BIT LL_SSI_MW_CMDSIZE_6BIT LL_SSI_MW_CMDSIZE_7BIT LL_SSI_MW_CMDSIZE_8BIT LL_SSI_MW_CMDSIZE_9BIT LL_SSI_MW_CMDSIZE_10BIT LL_SSI_MW_CMDSIZE_11BIT LL_SSI_MW_CMDSIZE_12BIT LL_SSI_MW_CMDSIZE_13BIT LL_SSI_MW_CMDSIZE_14BIT LL_SSI_MW_CMDSIZE_15BIT LL_SSI_MW_CMDSIZE_16BIT

Return values

  None |

## ◆ ll_spi_set_data_size()

__STATIC_INLINE void ll_spi_set_data_size | ( | ssi_regs_t * | SPIx,
|  | uint32_t | size
| ) |  |

Set frame data size.

Register | BitsName
--- | ---
CTRL0 | DFS32

Parameters

  SPIx | SPI instance
  size | This parameter can be one of the following values: LL_SSI_DATASIZE_4BIT LL_SSI_DATASIZE_5BIT LL_SSI_DATASIZE_6BIT LL_SSI_DATASIZE_7BIT LL_SSI_DATASIZE_8BIT LL_SSI_DATASIZE_9BIT LL_SSI_DATASIZE_10BIT LL_SSI_DATASIZE_11BIT LL_SSI_DATASIZE_12BIT LL_SSI_DATASIZE_13BIT LL_SSI_DATASIZE_14BIT LL_SSI_DATASIZE_15BIT LL_SSI_DATASIZE_16BIT LL_SSI_DATASIZE_17BIT LL_SSI_DATASIZE_18BIT LL_SSI_DATASIZE_19BIT LL_SSI_DATASIZE_20BIT LL_SSI_DATASIZE_21BIT LL_SSI_DATASIZE_22BIT LL_SSI_DATASIZE_23BIT LL_SSI_DATASIZE_24BIT LL_SSI_DATASIZE_25BIT LL_SSI_DATASIZE_26BIT LL_SSI_DATASIZE_27BIT LL_SSI_DATASIZE_28BIT LL_SSI_DATASIZE_29BIT LL_SSI_DATASIZE_30BIT LL_SSI_DATASIZE_31BIT LL_SSI_DATASIZE_32BIT

Return values

  None |

## ◆ ll_spi_set_frame_format()

__STATIC_INLINE void ll_spi_set_frame_format | ( | ssi_regs_t * | SPIx,
|  | uint32_t | frf
| ) |  |

Set data frame format for transmitting/receiving the data.

Note
  This bit should be written only when SPI is disabled (SSI_EN = 0) for correct operation.

Register | BitsName
--- | ---
CTRL0 | SPIFRF

Parameters

  SPIx | SPI instance
  frf | This parameter can be one of the following values: LL_SSI_FRF_SPI LL_SSI_FRF_DUALSPI LL_SSI_FRF_QUADSPI

Return values

  None |

## ◆ ll_spi_set_micro_transfer_direction()

__STATIC_INLINE void ll_spi_set_micro_transfer_direction | ( | ssi_regs_t * | SPIx,
|  | uint32_t | transfer_direction
| ) |  |

Set transfer direction mode in Microwire mode.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
MWC | MDD

Parameters

  SPIx | SPI instance
  transfer_direction | This parameter can be one of the following values: LL_SSI_MICROWIRE_RX LL_SSI_MICROWIRE_TX

Return values

  None |

## ◆ ll_spi_set_micro_transfer_mode()

__STATIC_INLINE void ll_spi_set_micro_transfer_mode | ( | ssi_regs_t * | SPIx,
|  | uint32_t | transfer_mode
| ) |  |

Set transfer mode in Microwire mode.

Note
  This bit should not be changed when communication is ongoing.

Register | BitsName
--- | ---
MWC | MWMOD

Parameters

  SPIx | SPI instance
  transfer_mode | This parameter can be one of the following values: LL_SSI_MICROWIRE_NON_SEQUENTIAL LL_SSI_MICROWIRE_SEQUENTIAL

Return values

  None |

## ◆ ll_spi_set_receive_size()

__STATIC_INLINE void ll_spi_set_receive_size | ( | ssi_regs_t * | SPIx,
|  | uint32_t | size
| ) |  |

Set the number of data frames to be continuously received.

Note
  These bits should not be changed when communication is ongoing. This bits are effect when TMOD = 2b10 or 2b11. This bits are not effect in SPIS.

Register | BitsName
--- | ---
CTRL1 | NDF

Parameters

  SPIx | SPI instance
  size | This parameter can be one of the following values: 0 ~ 65535

Return values

  None |

## ◆ ll_spi_set_rx_fifo_threshold()

__STATIC_INLINE void ll_spi_set_rx_fifo_threshold | ( | ssi_regs_t * | SPIx,
|  | uint32_t | threshold
| ) |  |

Set threshold of RXFIFO that triggers an RXNE event.

Register | BitsName
--- | ---
RXFTL | RFT

Parameters

  SPIx | SPI instance
  threshold | This parameter can be one of the following values: 0 ~ 7

Return values

  None |

## ◆ ll_spi_set_standard()

__STATIC_INLINE void ll_spi_set_standard | ( | ssi_regs_t * | SPIx,
|  | uint32_t | standard
| ) |  |

Set serial protocol used.

Note
  This bit should be written only when SPI is disabled (SSI_EN = 0) for correct operation.

Register | BitsName
--- | ---
CTRL0 | FRF

Parameters

  SPIx | SPI instance
  standard | This parameter can be one of the following values: LL_SSI_PROTOCOL_MOTOROLA LL_SSI_PROTOCOL_TI LL_SSI_PROTOCOL_MICROWIRE

Return values

  None |

## ◆ ll_spi_set_transfer_direction()

__STATIC_INLINE void ll_spi_set_transfer_direction | ( | ssi_regs_t * | SPIx,
|  | uint32_t | transfer_direction
| ) |  |

Set transfer direction mode.

Register | BitsName
--- | ---
CTRL0 | TMOD

Parameters

  SPIx | SPI instance
  transfer_direction | This parameter can be one of the following values: LL_SSI_FULL_DUPLEX LL_SSI_SIMPLEX_TX LL_SSI_SIMPLEX_RX LL_SSI_READ_EEPROM

Return values

  None |

## ◆ ll_spi_set_tx_fifo_threshold()

__STATIC_INLINE void ll_spi_set_tx_fifo_threshold | ( | ssi_regs_t * | SPIx,
|  | uint32_t | threshold
| ) |  |

Set threshold of TXFIFO that triggers an TXE event.

Register | BitsName
--- | ---
TXFTL | TFT

Parameters

  SPIx | SPI instance
  threshold | This parameter can be one of the following values: 0 ~ 7

Return values

  None |