Eine Schleife 1min laufen lassen

Hallo Leute. ich habe eine Frage.
Ich hab ein Programm, dass die Anzahl der digitalen Signale zählt. Jetzt brauche ich aber noch was, womit ich die erhaltenen Highs über die Zeit (1min) aufzählen kann, damit ich eine Signal pro Minute Rate erhalte. Wie macht man das?

Du brauchst da keine Schleife, nur eine Abfrage über die Funktion millis(), und dem Zählen deiner Signale.

damit ich eine Signal pro Minute Rate erhalte

Der Kehrwert aus der Zeit zwischen zwei Signalen hätte den Vorteil, dass du nicht eine ganze Minute warten und zählen musst. (Und den Nachteil, dass du nicht so leicht auf 0 Pulse / Minute kommst.)

Meist ist eine Kombination aus beidem, mit gleitendem Mittelwert, das Beste.

Du hast mit loop() schon eine Schleife

Hallo,

das riecht nach einer Frequenz oder Drehzahlmessung

schau dir millis() an , das wurde ja bereits gesagt, das ist die Laufzeit des Systems.

Wenn Du deine Messung starten willst merkst Du dir die aktuelle Laufzeit( millis()) in eine Variablen z.B “starzeit”. Achtung die muss 32 bit breit sein. also als unsigned long oder uint32_t deffiniert sein.

Wenn jetzt die differenz millis()-startzeit <= 60000 (1 minute) ist dann zählst Du deine Impulse ansonsten ist die Messzeit abgelaufen und das Ergebniss liegt vor.

Heinz