Hallo Miteinander, ich möchte gerne wissen wie ich die "genaue" Zeit für einen Schleifenaufruf und Durchlauf ermittle? Damit ich Wartezeiten genau definieren kann z.B. 0,5 Millisekunden. Bisher hab ichs halt so gemacht das ich ne LED aufleuchten lasse, die Zeit von Hand messe. Danach anpassen der Schleife. Das ist aber schon eine sehr schlechte Lösung und taucht nur für Sekunden. Mein MSP bekommt über XT2 einen 3.58 MHz Takt. Den hab ich auf 1/8 geteilt. Da ich keine Ahnung von Assembler hab, blick ich das nicht mit der Zeit pro Befehl. Könnte einer mir bitte weiter helfen. wait(50); // vom Aufruf ... void wait(long i) // bis ab arbeiten der Schleife { long j; for(j=0;j<i;i--) ; } // und Rücksprung Danke, Gruß Marc
Hiho, also wenn Du schon einen Quarz hast... Einfach einen Timer laufen lassen, vor und nach der zu messenden Routine den Timer-Stand (z.B. TAR) sichern und Differenz bilden. Davon abgesehen halte ich die Wartezeit-Bildung über eine Schleife nur fuer quick'n dirty Lösungen geeignet, würde persönlich immer ne Timer-Lösung vorziehen. z.B. für größere Zeiten (ms-Bereich) Timer laufen lassen (meinetwegen im Continuous Mode). Beim Überlauf einen Interrupt erzeugen und eine Variable entsprechend erhöhen.
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.