ADAFRUIT QTPY-ESP32-S2 ... problem

Je fais des essais avec cette carte :

J'ai introduit ce code :


#include <SD.h>
#include <SPI.h>

void setup() {  // exécuté 1 fois

pinMode(A0,OUTPUT);

  SPI.pins(36, 37, 35, A0);  // SCK, MISO, MOSI, CS

  //-- Test presence SD
  if (!SD.begin(A0)) {
    Serial.println("initialisation echouee !");
    while (1)
      ;
  }
  Serial.println("initialisation reussie.");
}
;
loop{}
;

Mais j'ai cette erreur de compilation :

ATTENTION: la bibliothèque Timezone prétend être exécutable sur la (ou les) architecture(s) avr et peut être incompatible avec votre carte actuelle qui s'exécute sur esp32.
/Volumes/4T-LACIE/CALENDRIER ANNIVERSAIRE/TEST_20_novembre_esp32_sleep/TEST_20_novembre_esp32_sleep.ino: In function 'void setup()':
/Volumes/4T-LACIE/CALENDRIER ANNIVERSAIRE/TEST_20_novembre_esp32_sleep/TEST_20_novembre_esp32_sleep.ino:129:7: error: 'class SPIClass' has no member named 'pins'; did you mean 'pinSS'?
   //--initialisation oled horloge
       ^~~~
       pinSS
/Volumes/4T-LACIE/CALENDRIER ANNIVERSAIRE/TEST_20_novembre_esp32_sleep/TEST_20_novembre_esp32_sleep.ino:141:44: error: expected '}' at end of input
 
                                            ^
/Volumes/4T-LACIE/CALENDRIER ANNIVERSAIRE/TEST_20_novembre_esp32_sleep/TEST_20_novembre_esp32_sleep.ino:123:14: note: to match this '{'
 void setup() {  // exécuté 1 fois
              ^
Plusieurs bibliothèque trouvées pour "SD.h"
  Utilisé: /Users/joseph/Library/Arduino15/packages/esp32/hardware/esp32/2.0.14/libraries/SD
  Non utilisé: /Users/joseph/Documents/Arduino/libraries/SD
exit status 1

Compilation error: 'class SPIClass' has no member named 'pins'; did you mean 'pinSS'?

quelle board avez vous choisi pour compiler?

c'est bien la bonne ?


si vous compilez ceci:

void setup() {
  Serial.begin(115200);
  Serial.print("MOSI: ");  Serial.println(MOSI);
  Serial.print("MISO: ");  Serial.println(MISO);
  Serial.print("SCK: ");   Serial.println(SCK);
  Serial.print("CS: ");    Serial.println(SS);  
}

void loop() {}

ça vous dit quoi?


ce n'est pas comme cela qu'on définit le SPI je pense.


sinon dans la doc ils disent

Je ne suis pas sur mais potentiellement ça peut gêner le CS

Remplacer

par

SPI.begin(..., ..., ..., ...);

Excusez-moi pour le retard

Pourquoi le SPI.pins (...) fonctionne-t-il avec un ESP8266 et pas avec un ESP32?

sur ESP8266 la classe SPIClass implémente une fonction qui s'appelle pins et qui prend ces éléments en paramètres ➜

Sur ESP32 la classe SPIClass utilise la fonction begin pour cela. La fonction pins() n'existe pas.

Merci pour l'explication

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.