Low Level functions for SPI. More...
Functions | |
| spi_status_en | spi_write_tx_data (spi_instance_en id, uint32_t tx_data) |
| uint32_t | spi_read_rx_data (spi_instance_en id) |
| bool | spi_tx_fifo_not_full (spi_instance_en id) |
| bool | spi_rx_fifo_not_empty (spi_instance_en id) |
| spi_status_en | spi_set_tx_fifo_trig_level (spi_instance_en id, uint32_t fifo_level) |
| uint32_t | spi_get_tx_fifo_trig_level (spi_instance_en id) |
| spi_status_en | spi_set_rx_fifo_trig_level (spi_instance_en id, uint32_t fifo_level) |
| uint32_t | spi_get_rx_fifo_trig_level (spi_instance_en id) |
| uint32_t | spi_get_num_in_tx_fifo (spi_instance_en id) |
| uint32_t | spi_get_num_in_rx_fifo (spi_instance_en id) |
| uint32_t | spi_get_status (spi_instance_en id) |
Low Level functions for SPI.
| spi_status_en spi_write_tx_data | ( | spi_instance_en | id, |
| uint32_t | tx_data ) |
Writes data to TX FIFO, data must be right aligned. Function only valid if SPI is enabled. This function does not check if the FIFO is full, it is the user's responsibility to check first. Frames written to a full FIFO are discarded.
| id | SPI Instance ID. |
| tx_data | Right aligned tx_data |
| uint32_t spi_read_rx_data | ( | spi_instance_en | id | ) |
Reads data from the RX FIFO. This function is only valid if SPI is enabled. This function does not check to see if there is data in the RX FIFO, it is the user's responsibility to check first. If the FIFO is empty when this is called the RX FIFO underflow interrupt is triggered. call spi_get_num_in_rx_fifo to determine if there is data avaliable.
| id | SPI Instance ID. |
| bool spi_tx_fifo_not_full | ( | spi_instance_en | id | ) |
Checks whether the TX FIFO has space to accept more data. This function is used to ensure the transmit FIFO is not full before writing. Writing to the FIFO when it is full may result in data loss or trigger a TX overflow condition. Use this function in a loop or conditionally to manage flow control during transmission.
| id | SPI Instance ID. |
| bool spi_rx_fifo_not_empty | ( | spi_instance_en | id | ) |
Checks whether the RX FIFO contains any received data. This function is used to verify if there is unread data in the receive FIFO. Attempting to read from an empty FIFO may lead to underflow or return invalid data. Always call this function before reading RX data via spi_read_rx_data.
| id | SPI Instance ID. |
| spi_status_en spi_set_tx_fifo_trig_level | ( | spi_instance_en | id, |
| uint32_t | fifo_level ) |
Threshold value for TX FIFO. When number of entries in TX FIFO is at or below this level TX FIFO Empty status is set. Note any writes greater than or equal to the FIFO size are ignored.
| id | SPI Instance ID. |
| fifo_level | TX FIFO level: If TX FIFO is at or below this level then TX FIFO empty status is set |
| uint32_t spi_get_tx_fifo_trig_level | ( | spi_instance_en | id | ) |
Returns TX FIFO Level
| id | SPI Instance ID. |
| spi_status_en spi_set_rx_fifo_trig_level | ( | spi_instance_en | id, |
| uint32_t | fifo_level ) |
Threshold value for RX FIFO. When number of entries in RX FIFO is at or above this level RX FIFO Full status is set. Note any writes greater than or equal to the FIFO size are ignored.
| id | SPI Instance ID. |
| fifo_level | RX FIFO level: If RX FIFO is at or above this level then RX FIFO full status is set |
| uint32_t spi_get_rx_fifo_trig_level | ( | spi_instance_en | id | ) |
Returns RX FIFO Level
| id | SPI Instance ID. |
| uint32_t spi_get_num_in_tx_fifo | ( | spi_instance_en | id | ) |
Returns number of valid entries in the TX FIFO.
| id | SPI Instance ID. |
| uint32_t spi_get_num_in_rx_fifo | ( | spi_instance_en | id | ) |
Returns number of valid entries in the RX FIFO.
| id | SPI Instance ID. |
| uint32_t spi_get_status | ( | spi_instance_en | id | ) |
Read SPI Status Register.
| id | SPI Instance ID. |