STM8 EXTI Service Routine

Gast #3314716
Lesenswert?
• ▲
▼
Hallo,

Ich habe am Port B des STM8S105K6 fünf externe Interrupts.

Von anderen Controllern kenne ich es so, dass ich für jeden dieser 
Interrupts ein eigene Interrupt Service Routine schreibe. Beim STM8 aber 
gibt es eine ISR für den gesamten Port und nicht für jedes einzelne 
Portpin.

Wenn diese Routine also aufgerufen wird muss ich erstmal feststellen 
welcher Interrupt ausgelöst hat. Port B1 oder B3 oder B6 oder ...?

Gibt es dazu eine saubere Lösung? Ich habe noch nichts dazu gefunden und 
mir selbst eine Lösung einfallen lassen indem ich die Zustände aller 
Portpins einlese und mit denen vom letzten Aufruf der Routine 
vergleiche. Funktioniert zwar aber ist meiner Meinung nach nicht 
wirklich elegant und es bläht meine ISR nur unnötig auf.

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.