Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Wrong SPIs typology for ESP32C3 #8192

Closed
Assignees
P-R-O-C-H-Y
Labels
Milestone
@mgrenonville

Description

@mgrenonville

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 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 has2 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 isFSPI 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 thatSPI.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

#include<SPI.h>#include<Arduino.h>#defineHSPI_MISO MISO#defineHSPI_MOSI MOSI#defineHSPI_SCLK SCK#defineHSPI_SS18staticconstint spiClk =100000;// 1 MHzSPIClass *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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions


    [8]ページ先頭

    ©2009-2025 Movatter.jp