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
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.
Wenn der Compiler gut optimiert, optimiert er die Funktion komplett weg, inkl. Funktionsaufruf, und Du hast überhaupt keine Verzögerung mehr...
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
bietet denn dein Compiler keine vordefinierte Delay-Funktionen/Makros etc an?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.