So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By Miklux
#88461 Hi all, I'm new here and I'm also new to the ESP8266.
I have a NodeMCU board and I'm triynd to follow an example but it's not working for me...
I receive an exception.
Someone could help me please?

Tha code is here
Code: Select all#include <ESP8266WiFi.h>
 
volatile byte impulsi;
//unsigned int litriPerOra; // Calcolo dei litri all'ora
const byte sensoreFlusso = D2; // Si riferisce al pin a cui è collegato il sensore, il  flussometro

unsigned long tempoPrecedente; // Utile per calcolare il tempo
unsigned long impulsiContati;
float litri; // Litri contati

void ICACHE_RAM_ATTR flusso() {   // Funzione di interrupt
impulsi++; // quando questa funzione viene chiamata vuol dire che il flussometro ha fatto un giro e gli impulsi vengono incrementati
}

void setup() {
  Serial.begin(115200);
  delay(10);
  pinMode(sensoreFlusso, INPUT); // il pin D1, nel quale entra l'onda quadra in uscita dal flussometro, è un input per arduino che deve contare gli impulsi e trasformarli in litri
  attachInterrupt(digitalPinToInterrupt(sensoreFlusso), flusso, RISING);

   
  Serial.println();
  tempoPrecedente = millis();
}
 
void loop() {
  // Controlla se il client è connesso
  if(millis() - tempoPrecedente > 1000) {
    //noInterrupts();
    // la funzione millis() restituisce i millisecondi passati dall'inizio del programma
    tempoPrecedente = millis(); // Aggiorna il tempo
    impulsiContati += impulsi;
    //litriPerOra = (impulsi * 60 / 8.34); // (Frequenza impulsi x 60 min) / 8.34 (dati forniti dal costruttore nella scheda tecnica)
    impulsi = 0; // Resetta il contatore
    //Serial.print(litriPerOra, DEC); // Stampa i litri all'ora
    //Serial.print(" L/ora");
    Serial.print(" Impulsi Contati: ");
    Serial.print(impulsiContati);
    litri = impulsiContati*1.0/500; //Secondo i dati del costruttore vengono conteggiati 500 impulsi a litro
    Serial.print(" Litri Contati: ");
    Serial.println(litri);
    //interrupts();
   
  }

 
}


And I have two situations:
the first: the counter is not counting...
Code: Select all Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00
 Impulsi Contati: 0 Litri Contati: 0.00


The second problem is that if I add the WIFI functions and try to build a server, i receive exeptions and the program abort with a lot of memory address informations...

Where is the problem?
Thanks in advance