Chapter 4. Software framework
When using ESP32 as an SPI Master device, how many bytes of data can be transfered at one time in non-
DMA mode?
• Up to 64 Bytes of data can be transferred at one time in such condition.
• When the transmitted data does not exceed 32 bits, you can use the 4-byte array in the SPI Master driver as
the buer for data transmission. For details, please refer to Transactions with Data Not Exceeding 32 Bits.
• But when the transmitted data exceeds 32 bits, you need to set the buer for SPI data transmission by yourself.
For details, please refer to SPI Master Transactions.
• When using ESP32 as an SPI Master device to transmit more than 32 bits of SPI data in non-DMA mode,
please refer to the example lcd.
When using the ESP32-S3-WROOM-1 (ESP32-S3R2) module to enable its PSRAM conguration based on
the “hello-world”example in ESP-IDF v4.4, the following error is printed. What is the reason?
E (232) spiram: Virtual address not enough for PSRAM!
• ESP32-S3R2 chip integrates a 4-wire 2 MB PSRAM, please set PSRAM Mode to Quad mode in
menucong before your action as follows:
menuconfig > Component config > ESP32S3 Specific > Support for ex-
ternal, SPI connected RAM > SPI RAM config > Mode (QUAD/OCT) of SPI
RAM chip in use (Ouad Mode PSRAM)
When using the ESP32-S3-WROOM-2 (ESP32-S3R8V) module to enable the PSRAM conguration based
on the “hello-world”example in ESP-IDF v4.4, the following error is printed. What is the reason?
E (453) psrm: psrm ID read error: 0x00ffff
E (454) cpu start: Failed to init external RAM!
ESP32-S3R8V chip integrates a 8-wire 8 MB PSRAM, please set PSRAM mode to Octal mode in
menucong before your action as follows:
menuconfig > Component config > ESP32S3 Specific > Support for
external, SPI connected RAM > SPI RAM config > Mode (QUAD/OCT)
of SPI RAM chip in use (Octal Mode PSRAM)
Does ESP8266 RTOS SDK support full duplex for SPI?
CHIP: ESP8266
No, it doesn’t. Because ESP8266 doesn’t support DMA, in order to improve the transmission per-
formance, the entire FIFO is used. So it can only be half duplex. Please refer to spi readme for more
details.
Can ESP32 support 9-bit clock mode for 3-wire SPI (i.e. a mode where the rst bit indicates whether the
next 8 bits are command or data)?
No. Currently, all ESP32 series chips does not support non-byte-aligned data transfer, i.e., only support
8-bit-aligned data tranfer. For details, please refer to Github issue.
Newer versions of ESP32 series chips may support non-byte-aligned data transfer. However, there is no
specic schedule for this functionality.
Espressif Systems 79
Submit Document Feedback
Release master