Forum: Mikrocontroller und Digitale Elektronik MSP430 interrupt auf pos. und neg. Flanken


von Fabio S. (codehamster)


Lesenswert?

Hallo zusammen,

Ich verwende in einem Projekt einen MSP430F449. Ich möchte nun per 
interrupt einen Zähler bedienen. Das problem dabei ist das der 
MSP430F449 ja Flankengesteuert auf Interrupts reagiert. Da ich jedoch 
nicht beeinflussen kann ob gerade eine positive oder eine negative 
Flanke kommt brauche ich eine Idee wie ich die ISR schreiben kann. Damit 
ich auf jede Flanke reagieren kann.

Hat ev. schon jemand so was implementiert? Die Lösung mit 2 
Interrupt-Ports fällt weg da ich die anderen Pins schon belegt habe.

MFG Fabio

von Uhu U. (uhu)


Lesenswert?

Einfach unter Interruptsperre oder in der ISR das PxIES-Register mit dem 
betreffenden Bit ver-xodern und hinterher das zugehörige PxIF 
zurücksetzen.

   xor.b   #1, P1IES            ; Dreht die Interrupt-Flanke um
   bic.b   #1, P1IF             ; Löscht den IR, falls durch xor
                                ; ausgelöst

von asdf (Gast)


Lesenswert?

Das einfache Drehen der Flanke könnte riskant sein, wenn das 
Eingangssignal kurze Störimpulse enthalten kann (sollte hier eigentlich 
nicht kritisch sein, da sonst auch der Zähler nicht korrekt 
funktionieren würde).
In einer Anwendung in der das Probleme machen könnte müsste man nach dem 
Drehen der Flanke nochmal prüfen, dass der externe Pegel sich nicht 
schon ein weiteres Mal geändert hat. Sollte das der Fall sein: nochmal 
von vorne durch die ISR.

von Fabio S. (codehamster)


Lesenswert?

Herzlichen Dank für eure Inputs!

hat geholfen und es funktioniert! Immer wieder schön wie schnell hier 
kompetente Hilfe geboten wird. Danke.

MFG Fabio

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.