Forum: Mikrocontroller und Digitale Elektronik Zeit einer C Routine berechnen


von L. R. (keyboard)


Lesenswert?

hei,

PIC32MX795F512  MPLAP 8.84  C32 V2.02

wie kann ich eine in C geschriebene Routine die Zeit berechnen, die 
diese Routine von Anfang bis Ende benötigt?

Mittels der Simulation kann ich es nicht machen, das der Routine nicht 
die notwendige Daten zum abarbeiten, die von einer SD-Karte kommen, 
vorliegen

Vielen Dank im Voraus
schönen Tag

von Cyblord -. (cyblord)


Lesenswert?

Rechnen:
Assembler Listing angucken, Befehle zählen, Takte zählen. Addieren.

Messen:
Ausgang am Anfang setzen am Ende der Route löschen, Pulsbreite des 
Ausgangs mit Oszi oder LA messen.

gruß cyblord

von Moritz M. (Gast)


Lesenswert?

Pin Togglen, und mit Oszi messen. Wenn die Daten immer gleich lang sind 
sollte theoretisch auch immer die selbe Zeit rauskommen. sonst vllt. 
Mehrere Datensätze durch-messen und regression machen.

MFG Moritz M.

von Chris B. (dekatz)


Lesenswert?

Coretimer am Anfang der Routine lesen und am Ende der Routine lesen. 
Differenz = Laufzeit, Ausgabe über UART etc....
CoreTimer Auflösung ist Fosc/2 (wenn ich mich recht erinnere).
Wenn der PIC32 mit 80MHz läuft darf die Routine eben nicht länger als 
107 Sekunden dauern gg

von L. R. (keyboard)


Lesenswert?

hei,

PIC32MX795F512  MPLAP 8.84  C32 V2.02

werde es dann mit togglen eines PIN machen

schönen Tag

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

L. R. schrieb:
> Mittels der Simulation kann ich es nicht machen, das der Routine nicht
> die notwendige Daten zum abarbeiten, die von einer SD-Karte kommen,
> vorliegen

Wenn ich das richtig verstehe, hängt die Dauer auch von der 
Lesegeschwindigkeit der SD-Karte ab. Dann ist eine verlässliche Aussage 
aber kaum möglich...

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.