Forum: Mikrocontroller und Digitale Elektronik STM8 EXTI Service Routine


von Nobbe (Gast)


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.

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
Noch kein Account? Hier anmelden.