Hallo Ihr, ich lese öfters hier im Forum, dass Baster die Auslastung des uC´s angeben. Wie kann ich diese berechnen, um zum beispiel das auf einem LCD anzuzeigen? Gibt es dafür Funktionen? Wüsste jetzt nict direkt, wie ich das umsetzen sollte. Grüße
Prozessor schrieb: > Hallo Ihr, > > ich lese öfters hier im Forum, dass Baster die Auslastung des uC´s > angeben. Ist ganz einfach: Solange du keinen sleep im Programm hast, ist deine Auslastung immer 100%. Was solls auch sonst sein? Dein µC arbeitet immer irgendwelche Befehle ab. Nur verteilen sich diese 100% auf verschiedene Programmteile. Und das ist dann der eigentlich interessante Teil. Meistens will man wissen, wieviel Zeit in einer ISR vergeht. Dann schaltet man am Anfang der ISR einen Pin auf 1 und am Ende wieder auf 0. Mit einem Oszi kann man dann die Zeit ausmessen, die der Pin auf 1 ist und die der Pin auf 0 ist. Und daraus lässt sich dann wieder errechnen, wieviele % der Zeit, der µC in der ISR verbringt.
Aaaahaa.. Okay. Die Idee mit dm Oszi find ich super, mal gucken ob ich da dann demnächst mal was find -.- Danke!
Angenommen Du hast in der Main eine Schleife, die wartet, bis 1Millisekunde rum ist, dann alle Tasks bedient und dann wieder wartet, bis zur nächsten Millisekunde. Dann brauchst Du nur einen Port zu setzen/löschen. Und kannst direkt (oder über RC-Filter) ein Drehspulmessgerät mit 5V Vollausschlag dran hängen.
Ich mach das immer so, dass ich in der mainloop{} einen Zähler hochlaufen lasse, um dann die Durchläufe pro Sekunde zu ermitteln. das zeigt dann ganz gut, wie viel Rechenleistung noch verfügbar ist, bis erste Echtzeitprobleme auftreten können...
Ich hab auch einen Mainloop, dort werden Flags abgefragt und allenfalls darauf reagiert. Im Mainloop selbst kann ich dann einen Pin hochsetzen und so mit dem Scope zuschauen wie die Auslastung ist.
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.