www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Prozessor-Auslastung ermitteln


Autor: Prozessor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Prozessor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aaaahaa.. Okay.
Die Idee mit dm Oszi find ich super, mal gucken ob ich da dann demnächst 
mal was find -.-

Danke!

Autor: Luxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.