Go Down

Topic: ina219.getCurrent_mA(); Funktion in der ISR nicht aufrufbar (Read 73 times) previous topic - next topic

Nick2245

Ich habe einen Arduino Nano und ein INA219 Strommessmodul.
Ich möchte über die TimerOne.h Bibliothek einmal die Sekunde den Stromwert auslesen.
Hierzu wird 1 mal die Sekunde die ISR per Timer mit dem Namen Strom aufgerufen.
Normalerweise sollte der Befehl zum abfragen " I = ina219.getCurrent_mA(); " in der ISR mit dem Namen Strom stehen.  Da funktioniert er aber nicht und der Arduino Nano stützt ab.
Zum Testen habe ich mal versucht eine andere Methode in der ISR aufzurufen. Das geht. Es scheint also ein Problem mit dieser einen Funktion zu sein.
Weiß jemand warum ich gerade diese Funktion nicht aufrufen kann aber andere Sachen schon?

Code: [Select]

#include <TimerOne.h>
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;

int I = 0;                          //Stromwert

void setup(void){
ina219.begin();
Timer1.initialize(1000000);         //Timer auf 1 Sekunden stellen
Timer1.attachInterrupt(Strom);      //ISR Strom wird jede Sekunde aufgerufen
Serial.begin(115200);
}
void loop(void){   
I = ina219.getCurrent_mA();         //hier wird die Funktion aufgerufen
delay(1000);
Serial.println("Läuft noch");
}
void Strom(void){
//I = ina219.getCurrent_mA();       //hier wird die Funktion nicht aufgerufen.Warum?
Serial.println(I);
}

Doc_Arduino

gelöscht weil Doppelposting   https://www.mikrocontroller.net/topic/480193#new
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Go Up