Per Software kann man auch bei einem Pin-Change-Interrupt auf eine Pseudo-Flanke reagieren. Größter Nachteil ist, dass sie wesentlich langsamer sind.
Per Software kann man auch bei einem Pin-Change-Interrupt auf eine Pseudo-Flanke reagieren. Größter Nachteil ist, dass sie wesentlich langsamer sind.
Grüße,
Daniel
Danke! Dann werd ich den INT1 IRQ anstatt dem PCINT19 verwenden
Gruß
Georg
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Was eine Pseudo Flanke genau ist weiß ich zwar auch nicht. Ich könnte mir aber vorstellen das er meint das du den Pegel auslesen musst.
Als Beispiel du willst auf eine steigende Flanke reagieren.
Der INT wird bei steigender und fallender Flanke ausgelöst. Du musst deswegen den Pegel auslesen.
Wenn PCINT ausgelöst ist und der Pegel ist high => entspricht einem INT mit steigender Flanke
Wenn PCINT ausgelöst ist und der Pegel ist low => ignorieren, da du die steigende Flanke brauchst (wäre ein INT mit fallender Flanke)
Der Vorteil des PCINT wäre das du auf mehrere Eingänge reagieren kannst (würde aber auch mit dem normalen INT mit externer Hardware funktionieren).
MfG Hannes
Danke Hannes,
das leuchtet mir ein. Hab mich wohl zu sehr von dem Begriff gefangen gelassen.
Gruß
Searcher
Hoffentlich liegt das Ziel auch am Weg
..................................................................Der Wegzu einigen meiner Konstruktionen
Genau das meinte ich. In der ISR wird dann der Zustand des Pins abgefragt und abhängig davon halt weiter gearbeitet.
Das beim Pin-Change-Interrupt Pins zu Gruppen zusammengefasst werden kann auch ein Nachteil sein.
Schließlich muss erst geprüft werden welcher Pin die Reaktion ausgelöst hat.
Grüße,
Daniel
Aber was meinst du mit dem Zusatz, "... dass sie wesentlich langsamer sind"?
Nur weil sie immer auf beide Flanken reagieren oder weil du erst noch prüfen musst, welcher Pin es war, wenn du mehrere zulässt?
Guck dir die zugehörigen Abbildungen zum Timing im Datenblatt an. Kannst es auch spaßeshalber selbst Testen.
Zudem kommt noch, dass mehre Pins in einem Vektor zusammengefasst werden. Bei INT/INT1/INTX hast du nur einen Pin bei PCINTX bis zu acht die den IRQ auslösen.
Grüße,
Daniel
Lesezeichen