EasyManuals Logo

Espressif ESP32-S2 User Manual

Espressif ESP32-S2
1695 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #403 background imageLoading...
Page #403 background image
Chapter 2. API Reference
addr: Address of register to write, 0 to SOC_SPI_MAXIMUM_BUFFER_SIZE-1
data: Buffer holding the data to write
len: Length to write, SOC_SPI_MAXIMUM_BUFFER_SIZE-addr
esp_err_t spi_slave_hd_append_trans(spi_host_device_t host_id, spi_slave_chan_t chan,
spi_slave_hd_data_t *trans, TickType_t timeout)
Load transactions (append mode)
Note In this mode, user transaction descriptors will be appended to the DMA and the DMA will keep pro-
cessing the data without stopping
Return
ESP_OK: on success
ESP_ERR_INVALID_ARG: The input argument is invalid. Can be the following reason:
The buffer given is not DMA capable
The length of data is invalid (not larger than 0, or exceed the max transfer length)
The transaction direction is invalid
ESP_ERR_TIMEOUT: Master is still processing previous transaction. There is no available trans-
action for slave to load
ESP_ERR_INVALID_STATE: Function called in invalid state. This API should be called under
append mode.
Parameters
host_id: Host to load transactions
chan: SPI_SLAVE_CHAN_TX or SPI_SLAVE_CHAN_RX
trans: Transaction descriptor
timeout: Timeout before the transaction is loaded
esp_err_t spi_slave_hd_get_append_trans_res(spi_host_device_t host_id, spi_slave_chan_t
chan, spi_slave_hd_data_t **out_trans,
TickType_t timeout)
Get the result of a data transaction (append mode)
Note This API should be called the same times as the spi_slave_hd_append_trans
Return
ESP_OK: on success
ESP_ERR_INVALID_ARG: Function is not valid
ESP_ERR_TIMEOUT: Theres no transaction done before timeout
ESP_ERR_INVALID_STATE: Function called in invalid state. This API should be called under
append mode.
Parameters
host_id: Host to load the transaction
chan: SPI_SLAVE_CHAN_TX or SPI_SLAVE_CHAN_RX
[out] out_trans: Pointer to the transaction descriptor (spi_slave_hd_data_t) passed
to the driver before. Hardware has finished this transaction. Member trans_len indicates the
actual number of bytes of received data, its meaningless for TX.
timeout: Timeout before the result is got
Structures
struct spi_slave_hd_data_t
Descriptor of data to send/receive.
Public Members
uint8_t *data
Buffer to send, must be DMA capable.
size_t len
Len of data to send/receive. For receiving the buffer length should be multiples of 4 bytes, otherwise the
extra part will be truncated.
Espressif Systems 392
Submit Document Feedback
Release v4.4

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Espressif ESP32-S2 and is the answer not in the manual?

Espressif ESP32-S2 Specifications

General IconGeneral
BrandEspressif
ModelESP32-S2
CategorySingle board computers
LanguageEnglish