Forum: Compiler & IDEs "Zeitdauer" für Befehle


von Jens K. (jens_)


Lesenswert?

Hi!

Ich wollte mal schauen, wie "schnell" mein Programm ist. Die Display 
zeiten bekomm ich aus dem Datenblatt.

Aber wie krieg ich raus, wie lange es dauert ein Zeichen über RS232 zu 
schicken oder eine sprintf Anweisung (die ja wohl sehr lange Dauert) 
oder Rechenoperationen bei einer float.

Gibts da ne Seite mit "Abschätzungen" oder sowas in die Richtung?

MFG und Danke

von Günter R. (galileo14)


Lesenswert?

Da definierst Du Dir einen freien Pin als Ausgang, setzt ihn vor 
Eintritt in Deine zu bestimmende Funktion auf high, nach deren Ende auf 
low, und mißt die Länge des am Pin entstehenden High-Impulses (z.B. mit 
einem Oszi, oder Zähler); damit weißt Du, wie lange Deine Funktion 
benötigt (abzüglich einiger 100 ns für das Pin-High/Low-Setzen).

von Rahul D. (rahul)


Lesenswert?

Du könntest dir auch den Assembler-Code angucken und anhand der 
Befehlstabelle die Dauer ausrechnen...

von Jens K. (jens_)


Lesenswert?

Ah - verdammt auf die Idee mit dem Oszi hätt ich auch mal kommen 
können..
Dankeschön:)

von Jörg X. (Gast)


Lesenswert?

Der Simulator hat einen Taktzähler, der auch bei C-Programmen 
funktioniert... dann einfach durch die Targetfrequenz teilen ;)

von Ulrich (Gast)


Lesenswert?

Noch viel einfacher in AVR-Studio. Das hat nämlich noch eine Stopuhr 
unter dem Cyclenzähler

von Peter D. (peda)


Lesenswert?

Hans Dampf wrote:

> Aber wie krieg ich raus, wie lange es dauert ein Zeichen über RS232 zu
> schicken

1/Baudrate * 10 (bzw. * 11 bei 2 Stopbits)


Peter

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.