Bonjour. (Sur une carte molex ESP32 EVB) Je fais le petit programme suivant pour tester ma sortie SPI
#include <Arduino.h>
#include <SPI.h>
const int MOSI_PIN = 13; // GPIO13
const int MISO_PIN = 12; // GPIO12
const int SCK_PIN = 14; // GPIO14
void setup() {
// initialise la communication SPI
SPI.begin(SCK_PIN, MISO_PIN, MOSI_PIN);
SPI.setClockDivider(SPI_CLOCK_DIV32); // vitesse de transmission de 8MHz
Serial.begin(38400);
// met la pin MOSI en mode de sortie
pinMode(MOSI_PIN, OUTPUT);
digitalWrite (MOSI_PIN, HIGH);
delay(4000);
digitalWrite (MOSI_PIN, LOW);
delay(4000);
}
void loop() {
// envoie la valeur 128
SPI.transfer(128);
Serial.println("Sent");
// attend une seconde
delay(1000);
}
ALors j'ai mis ma MOSI à 1 avant d'envoyer quelque chose pour voir à l'oscillo si j'ai bien mon niveau haut et c'est OK
Ensuite j'ai bien un signal d'horloge sur mon Rigol mais rien sur le MOSI (GPIO13)....
Un peu d'aide bienvenue....
Hervé
Bonjour lesept,
Je ne me sert pas du SS pour mon application. J'ai pu voir que ce n'était pas obligatoire.
J'ai quand même essayé de configurer cette pin, pour voir, mais je n'ai pas de changement.
Merci toutefois....
On y voir comment déclarer du SPI aileurs que sur les GPIO probablement définis par défaut pour la carte que tu utilises
Carte , dis-tu, "molex ESP32 EVB" qu'il serait bon d'identifier avec précision
Molex étant une grande marque de connecteurs en tout genre ça n'aide pas beaucoup.... aurais tu confondu avec Oimex ? ça sonne à peu près pareil
S'il s'agit dune carte Olimex ESP32 EVB t'es tu assuré sur son schéma de la totale disponibilité totale de tous les GPIO que tu cherches à utiliser ? elle parait bien garnie cette carte, en particilier pour le SPI....
OUI OUI c'est OLIMEX..... pfouuu j'suis fatigué !
OK pour ton lien qui est peu en chinois pour le newbie que je suis....
@lesept
Aors j'ai ajouté ces lignes de code et.... Bien que je déclare vouloir mettre le MOSI sur la GPIO13 il me la trouve sur la GPIO2 !!! ???
``Serial port COM13 opened
MOSI: 2
MISO: 15
SCK: 14
SS: 17
Sent
Sent
Sent
Serial port COM13 closed
Serial port COM13 opened
MOSI: 2
MISO: 15
SCK: 14
SS: 17
Sent
Sent
Serial port COM13 closed
J'ai ajouté, la 2éme fois l'include wire.h
pas de changement
Bien que je déclare vouloir mettre le MOSI sur la GPIO13 il me la trouve sur la GPIO2
Quelque chose dans ta déclaration ne lui va pas, il reste donc à la configuration par défaut définie dans un fichier fourni à Espressif par Olimex pour cette carte de son cru
OUPS j'avais fait un truc "pas clair" j'ai recommencé et
MOSI: 13
MISO: 12
SCK: 14
SS: 15
c'est bon sur ce qui s'affiche mais toujours rien à l'oscilloscope. (la clock est présente mais aucune data sur ma GPIO13) (rappel celle-ci est forcée à 1 puis 0 dans le setup et jusque là, ca va...)
Les lignes en question ne font qu'afficher des constantes définies dans le fichier pins_arduino.h associé au choix de la carte ESP32_EVB.
Même si tu affectes d'autres pin au SPI ces valeurs ne changeront pas.