ISR Optimierung

Gast #632320
Lesenswert?
• ▲
▼
Hi,

ich berechne in der ISR, ob eine Frequenz zw. 9-11Hz anliegt.
Zuerst hatte 2 Zählvariablen benutzt. Wegen Optimierung habe ich es so 
gemacht, dass ich nur noch eine brauche.
Die Anzahl der Push- und Popoperationen sind aber gleich geblieben.

Kann mir einer sagen wieso?
Ich war jetzt davon ausgegangen, dass sie weniger werden.

Gruss,
Ramona
Gast #632918
Lesenswert?
• ▲
▼
Oder ist es was ganz anderes:

>ich berechne in der ISR, ob eine Frequenz zw. 9-11Hz anliegt.

Ein bisschen mehr Hintergrund bitte: Globale Variable, oder Static in 
der ISR? Von lokalen Variablen in der ISR kann keine Rede sein!!!

>Die Anzahl der Push- und Popoperationen sind aber gleich geblieben.

Wo, in Funktionsbeginn und -ende?

>Kann mir einer sagen wieso?
>Ich war jetzt davon ausgegangen, dass sie weniger werden.

Mit Push und Pop sichert der Compiler ein paar Register zum 
Funktionsaufruf oder der ISR.

Lokale Static Variablen in einer Funktion, und das kann ja übertrieben 
gesehen ein Array mit mehreren Hundert Elementen in der ISR sein, viel 
mehr als der Controller Register hat, werden im RAM fest angelegt, das 
ist C-Standard. Es ist nicht wahrscheinlich, daß auf diese Variablen 
über Push und Pop zugegriffen wird und das da was gesichert wird.

Globale und statische Variablen haben feste Adressen im RAM, und die 
Inhalte müssen durch die ISR nicht weiter gesichert werden.

Das hat also nichts mit Push und Pop der Register zum Funktionsaufruf zu 
tun.

Ist es das?

Gruß

Dietmar

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.