Interruption sur nodeMCU

Bonjour,

Je sais que ce n'est pas de l'Arduino "pur", mais fort probablement que certains d'entre-vous ont de l'expérience en la matière.

En fait, je n’arrive même pas à faire fonctionner le code de base de ce tutoriel

Il plante et rebot indéfiniment .

Merci à vous !

Bonjour

Les tutoriels de techtutorialsx sont pour moi excellents mais il arrive toujours un moment où les meilleurs tutoriels sont périmés !!

retour aux sources => doc de référence de la version en vigueur (à ce jour) de l'extension ESP8266 pour IDE Arduino :

https://arduino-esp8266.readthedocs.io/en/2.6.3/reference.html#interrupts

La déclaration de la routine d'interruption nécessite maintenant un attribut destiné à l'implanter dans une Ram spécifique

.......d'ailleurs si tu lis jusqu'au bout les réactions au tutoriel de décembre 2016 que tu cites tu verras apparaître en 2019 le changement.

Merci beaucoup.

N'étant pas à l'aise avec l'anglais, je fais appel aux traducteurs, et il y a des subtilités que je ne vois pas.

En plus,en ces temps troubles, la bande passante réduite bloque certains passages

Mais merci merci. Je devrais m^rmr +dire au temps pour moi !

bàv

le plus rapide : faire appel aux traducteurs en ligne, par exemple

ça donne déjà une idée... et profiter du confinement pour améliorer l'anglais, langue incontournable pour Arduino !!

al1fch:
et profiter du confinement pour améliorer l'anglais, langue incontournable pour Arduino !!

Oui bah bon. je ne vais pas te raonter ma vie.

Merci, mais je ne vois toujours pas comment m'en sortir

Bonjour

Dans le message #1 je renvoie à la Reference — ESP8266 Arduino Core 2.6.3 documentation qui indique clairement qu'il y a un désormais un élément à ajouter au début de la déclaration de la fonction d'interruption, l'as tu fait ou as toujours en l'état le code de l'exemple obsolète ?
attribut.png

attribut.png

Ok ok, j'avais dû mal taper, ça fonctionne merci

/* 
 *  Croquis de base interruption nodeMCU v 20-04-04
 *  F0NCTIONNEL !
 */


const byte interruptPin = D2;
volatile byte interruptCounter = 0;
int numberOfInterrupts = 0;

  
void setup() {
 
  Serial.begin(115200);
  Serial.println();
  pinMode(interruptPin, INPUT_PULLUP);
 
  attachInterrupt(digitalPinToInterrupt(interruptPin), handleInterrupt, CHANGE);
  Serial.println("Croquis de base interruption nodeMCU v 20-04-04 b" );
 
}
 
ICACHE_RAM_ATTR void handleInterrupt() {
  interruptCounter++;
}
 
void loop() {
 
  if(interruptCounter>0){
 
      interruptCounter--;
      numberOfInterrupts++;
 
      Serial.print("An interrupt has occurred. Total: ");
      Serial.println(numberOfInterrupts);
  }
 
}