You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Master SPI pins (4 - SCK, 5 - MISO, 6 - MOSI) to a slave module
Version
v2.0.6
IDE Name
PlatformIO
Operating System
Linux
Flash frequency
160Mhz
PSRAM enabled
yes
Upload speed
N/A
Description
According to documentation, ESP32C3 has 2 SPIs peripherals, splitted in SPI0 & SPI1 used for attached flash memory, and SPI2 that is a general purpose SPI controller.
When instanciating a SPI on ESP32C3, the default spi number is FSPI that expands to0. But this is confusing with the documentation that says SPI0 is for flash memory (and is compatible with convention in FSPI).
Other issue is that SPI.begin returns void, and when passing a value larger than SPI_COUNT, we don't get errors. Arduino library for esp8266 returns a boolean with success or failure.
Sketch
#include<SPI.h>
#include<Arduino.h>
#defineHSPI_MISO MISO
#defineHSPI_MOSI MOSI
#defineHSPI_SCLK SCK
#defineHSPI_SS18staticconstint spiClk = 100000; // 1 MHz
SPIClass *working = NULL;
SPIClass *notWorking = NULL;
voidsetup()
{
Serial.begin(115200);
Serial.setDebugOutput(true);
working = newSPIClass();
//notWorking = new SPIClass(HSPI);
working->begin(HSPI_SCLK, HSPI_MISO, HSPI_MOSI);
working->beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE0));
Serial.printf("worked: %i != 0", working->getClockDivider());
working->endTransaction();
// set up slave select pins as outputs as the Arduino API// doesn't handle automatically pulling SS lowpinMode(HSPI_SS, OUTPUT); // HSPI SS
}
voidloop()
{
delay(100);
}
Debug Message
Depending on SPIClass, sketch returns getClockDivider() == 0 or a correct value
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
I confirm I have checked existing issues, online documentation and Troubleshooting guide.
The text was updated successfully, but these errors were encountered:
Board
esp32-c3-devkitm-1
Device Description
ESP32-C3 in devkitm-1
Hardware Configuration
Master SPI pins (4 -
SCK
, 5 -MISO
, 6 -MOSI
) to a slave moduleVersion
v2.0.6
IDE Name
PlatformIO
Operating System
Linux
Flash frequency
160Mhz
PSRAM enabled
yes
Upload speed
N/A
Description
According to documentation, ESP32C3 has 2 SPIs peripherals, splitted in SPI0 & SPI1 used for attached flash memory, and SPI2 that is a general purpose SPI controller.
When instanciating a SPI on ESP32C3, the default spi number is
FSPI
that expands to0
. But this is confusing with the documentation that says SPI0 is for flash memory (and is compatible with convention in FSPI).Other issue is that
SPI.begin
returnsvoid
, and when passing a value larger thanSPI_COUNT
, we don't get errors. Arduino library for esp8266 returns a boolean with success or failure.Sketch
Debug Message
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: