Forum: Mikrocontroller und Digitale Elektronik Ausgabe erst nach mehrmaliger Bestätigung der Bedignung


von Michael (Gast)


Lesenswert?

Hallo zusammen,

ich komme bei einem relativ simplen Programmierproblem nicht weiter,
und zwar will abhängig von einer bestimmten Bedingung (konkret ein 
Sensorschwellwert) eine Ausgabe in einer Funktion machen, allerdings 
erst, nachdem diese Bedingung mehrmals (z.Bsp. 5-mal) bestätigt worden 
ist.
Mit einer if-Abfrage kann ich ja nur einmal testen, ob die Bedingung 
stimmt, ich bräuchte aber eine Aussgage erst, wenn der die Bedingung 
5-mal erfüllt ist.

Was ist hier das Stichwort ? Ich komm leider nicht drauf.

Danke, Michael

von Guest (Gast)


Lesenswert?

Jedes mal einen Zähler hochzählen, die Funktion Aufrufen wenn der Zähler 
5 ist?

von Luca E. (derlucae98)


Lesenswert?

Eine Variable hochzählen und bei einem bestimmten Wert die Funktion 
aufrufen?

von Klaus (Gast)


Lesenswert?

Michael schrieb:
> Was ist hier das Stichwort ? Ich komm leider nicht drauf.

Entweder wie die obigen Vorschläge, oder als Stichwort: "static"

also z.B.

void test (unsigned int Sensorwert){

static unsigned int counter = 0;

 if (Sensorwert >= SCHWELLENWERT){
  counter ++;
 }

 if (counter >= 5){
  display(AUSGABE);
  counter = 0;
 }
}

Makros in Großbuchstaben, auf die solltest du selber kommen :-)

von Michael (Gast)


Lesenswert?

Super, funktioniert prima.
Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.