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
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
Gast
#1264960
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.
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.