ISR() und Interruptflag

Gast #1959170
Lesenswert?
• ▲
▼
Hallo,

seit kurzer Zeit beschäftige ich mich mit dem MSP430F????, irgendwie 
stelle ich immerwieder fest, dass die IRS Flags nicht sauber 
abgearbeitet werden.
soweit ich weiß, werden diese Flags von uC verwaltet, dh. ich muss nicht 
bei jedem Intrrupt den Flag manuel zurück setzten.

mache ich irgendwas falsch?
taucht dieses Phenomäne bei euch auch?
gibt s Tipps oder Ticks?

MFG
Gast #1959182
Lesenswert?
• ▲
▼
doch volatile  ist da,

aber was ändert das genau wen es nicht da wäre?
An volatile-Variablen werden keine Optimierungen ausgeführt!
 bei mir scheint es irgendwie ein altes Flag zusein, dass bei Disabelen 
der ISR nicht gelöcht wird...
#1959241
Lesenswert?
• ▲
▼
zanzana schrieb:
> bei mir scheint es irgendwie ein altes Flag zusein, dass bei Disabelen
> der ISR nicht gelöcht wird

Das Löschen wäre auch schlimm.
Flags dürfen nie ohne Grund gelöscht werden, sonst gehen Dir Interrupts 
verloren!

Sie dürfen nur gelöscht werden bei Interrupteintritt oder wenn der 
Programmierer es ausdrücklich so hinschreibt.

Außerdem gibt es oft Situationen, daß eine Interrutpquelle garnicht per 
Interrupt behandelt wird sondern mit Polling.
Z.B. ein einfaches putchar() wartet, bis das vorherige Byte gesendet 
wurde.


Peter
Persönliche Seite #1959248
Lesenswert?
• ▲
▼
Vielleicht bekommst du mehr Interrupts als du erwartest, d.h. während 
der Abarbeitung einer ISR kommen bereits neue Interrupts gleicher Sorte 
rein. Die lösen beim Verlassen der ISR den nächsten Aufruf der ISR aus 
und das mag so aussehen als ob das Interruptflag nicht gelöscht wurde. 
Der Klassiker ist hier eine prellende Taste an einer externen 
Interruptleitung (Entprellung).

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.