Anzahl der Funktionsaufrufe pro Sekunde berechnen / messen

OP #1721589
Lesenswert?

Servus,

Microcontroller PIC18F4680 mit 40 MHz.

folgendes Problem:

zur korrekten Berechnung eines Wertes muss ich wissen wieoft sich eine 
Funktionsroutine in der Sekunde aufruft.

Nun meine Frage wie ich das realisieren kann ?

Ich programmiere in C.

Gibt es Simulationsprogramme die sowas können ?

Vielen Dank

Gruß
#1721603
Lesenswert?

Lehrmann Michael schrieb:
> zur korrekten Berechnung eines Wertes muss ich wissen wieoft sich eine
> Funktionsroutine in der Sekunde aufruft.

Wenn die Anzahl der Aufrufe wichtig ist, dann überläßt man sowas auf 
keinen Fall dem puren Zufall!

Man nimmt einen Timer, der dann exakt die gewünschte Anzahl Aufrufe 
startet.
Je nachdem macht man die Aufrufe dann im Timerinterrupt oder in der 
Mainloop.
In der Mainloop muß man natürlich darauf achten, daß sie im Worst-Case 
auch innerhalb des gewünschten Intervalls fertig ist.


Peter
Gast #1721604
Lesenswert?

>War's so gemeint ?

Nö.
Eher:

Timer starten
Funktion xmal aufrufen, in der Funktion Variable bei jedem Aufruf 
hochzählen
Timer bei 1s anhalten
Variable auslesen, verarbeiten und zurücksetzen.
Gast #1721605
Lesenswert?

Nein.

In der Funktion einen Counter hochzählen. In übergeordneter Funktion 
Timer zurücksetzen, Counter zurücksetzen. Timer starten, nach 1 Sekunde 
Counter auslesen.

Dennoch lässt dein Ansatz darauf schließen, dass du einen Denkfehler bei 
der Programmierung gemacht hast. Es ist nicht sonderlich schön, eine 
direkte Abhängigkeit der Prozessorgeschwindigkeit zur Funktionalität zu 
haben... Warum benutzt du nicht immer einen Timer, um das Ergebnis 
korrekt zu berechnen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren