PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externer Interrupt



simple
21.08.2006, 16:47
Hallo zusammen,

ich möchte wissen ob es möglich ist, auf jedem beliebigem PIN auf einen externen Interrupt zu warten (z.B. Tasterereignis). Ich programmiere einen Atmega16. Dieser hat zwar 3 INT Pins, aber die sind anderweitig belegt. Ist es trotzdem möglich eine ISR für jeden anderen PIN zu schreiben, ohne jetzt einen bestimmten PIN in einer Schleife zu pollen?

Danke für Euere Hilfe,
simple.

SprinterSB
21.08.2006, 17:07
Nein, auf einen externen INT kannst du nur an einem Port warten, dessen Hardware so was unterstützt. Für ne Taster-Abfrage ist so was aber Overkill, da braucht man keinen INT für verschwenden...

Vielleicht so was wie in https://www.roboternetz.de/wissen/index.php/Taster-Abfrage_in_C ?

simple
21.08.2006, 23:33
Hey. Danke für den coolen Link!
Aber gibt es nicht etwas bisschen einfacheres?

SprinterSB
22.08.2006, 08:31
So kompliziert ist es nicht ;-) Zudem kannst du es deutlich abspecken, wenn du Schnick-Schnack wie langen Tastendruck oder Autorepeat nicht brauchst. Überleg die einfach, in welche Zweige das Programm erst gar nicht kommt, wenn zB nie auf Autorepeate getestet wird und schmeiss die entsprechenden Sequemze aus der Quelle raus!

simple
22.08.2006, 09:44
Also wenn ich das richtig verstanden habe, dann bleibt doch keine andere Möglichkeit wie in einer endlos Schleife irgendein PIN zu pollen und dann entsprechend auszuwerten. Ist das eigtl nicht zu ressourcenraubend?