Go Down

Topic: AnalogRead vor void Loop() einlesen (Read 1 time) previous topic - next topic

mkl0815

Ha, zu langsam.
Meine Lösung sah identisch aus ... :-)

Aber zur Ergänzung / Info:
Variablen ausserhalb der Funktionen zu definieren sorgt dafür, das diese in allen Teilen Deines Programms sichtbar sind und verwendet werden können. Allerdings wird kein Code ausserhalb der Funktionen setup() und loop() ausgeführt (außer es werden zusätzlich Funktionen explizit aufgerufen oder per Interrupt getriggert).
Mario.

Andi81

Jaa!
Vielen Dank!
Hab zwar meine Funktion etwas anpassen müssen (weiß auch nicht warum) aber jetzt gehts!
Wenns immer so einfach wäre...
Danke nochmals!
Grüße Andi

Udo Klein

Globale Variablen sind aber unfein, vor allem wenn man sie gar nicht braucht:

Warum statt
Code: [Select]

float tara;

void setup() {
  Serial.begin(9600);
  tara = analogRead(A0);   //hier würde ich den Wert einlesen...
}

void loop() {
...


nicht wie folgt:

Code: [Select]


void setup() {
  Serial.begin(9600);
}

void loop() {
    static float  tara = analogRead(A0);   //hier würde ich den Wert einlesen...
...


Check out my experiments http://blog.blinkenlight.net

Joghurt

Würde da dann nicht trotzdem bei jedem Durchgang den tara-Wert setzen?

uwefed

Udo das verstehe ich jetzt nicht.
Die Tara ist mit leerer Waage zu machen.
Wieso machst Du sie vor jedem Meßzyklus ohne daß man weiß wann die Tara genommen wird?
Grüße Uwe

Go Up