Forum: Mikrocontroller und Digitale Elektronik wie lange diese Verzögerung ist


von Campus (Gast)


Lesenswert?

Hi,

ich habe unterstehenden Code für LPC2114 von Philips. Wie weiß ich, wie
lange diese Verzögerung ist? Vermutlich hat das mit der Taktfrequenz zu
tun.

void  DelayNS(uint32  dly)
{  uint32  i;

   for(; dly>0; dly--)
      for(i=0; i<50000; i++);
}

Danke im Vorraus
Campus

von Marius Schmidt (Gast)


Lesenswert?

das hat was mit der taktfrequenz zu tun, aber je nachdem wie du deinen C
compiler eingestellt hast kann diese delay-funktion unterschiedlich
lange andauern (optimierungen!!!)

Wenn du es ganz genau haben willst schreib die funktion in assembler
nach und zähl die takt-zyklen die die Funktion durchläuft.

von Unbekannter (Gast)


Lesenswert?

Wenn der Compiler gut optimiert, optimiert er die Funktion komplett
weg, inkl. Funktionsaufruf, und Du hast überhaupt keine Verzögerung
mehr...

von Jörn G. aus H. (Gast)


Lesenswert?

Guck in den Assembler-Code, der für den Philips Chip daraus erzeugt
wurde, sonst hast du kaum Möglichkeiten, das genau heruaszufinden.
jörn

von Wegstabenverbuchsler (Gast)


Lesenswert?

bietet denn dein Compiler keine vordefinierte Delay-Funktionen/Makros
etc an?

von Campus (Gast)


Lesenswert?

Ich nutze ADS 1.2. Gibt es solche Makros?

MfG
Campus

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.