Hallo, ich habe beispielsweise 3 Eingänge, möchte aber dass bei irgendeiner Änderung der Eingänge ein Interrupt ausgelöst wird. Leider habe ich von Elektronik nicht zu viel Ahnung :) Mein aktueller Veruch hab ich als Anhang angehängt, ist leider nur aus Paint, sollte aber verständlich sein. Das selbe könnt ich mir mit Transistoren anstann Dioden vorstellen, macht das ein Unterschied? Nur hat meine "Lösung" ein Problem: Hält man eine Taste gedrückt, und drückt dann noch eine wird kein Interrupt mehr ausgelöst. Hoffe mein Problem ist verständlich Liebe Grüße
manche (viele? alle?) AVRs können das schon von Haus aus, such mal nach Pin-Change IRQ im Datenblatt. /Ernst
Ja stimmt ich kenn das, aber mein mega16 hat das leider nicht. Meint ihr es lohnt sich gar nicht und ich sollte einen anderen Controller verwenden? Gruß
Was willst du mit den Tasten machen? Im Regelfall ist es sinnvoller sie in einem Timerinterrupt abzufragen (und gleichzeitig zu entprellen...).
"Meint ihr es lohnt sich gar nicht und ich sollte einen anderen Controller verwenden?" Nein, Du solltest keinen externen Interrupt verwenden. Kein Mensch drückt Taster nur wenige µs lang, aber Tasten prellen mehrere ms lang. http://www.mikrocontroller.net/forum/read-4-310276.html#new Peter
Schau Dir mal die Spannung auf deiner INT-Leitung an, wenn Du mehrere Tasten drückst. Durch die Dioden hast Du eine ODER-Schaltung. Um eine Änderung zu registrieren, mußt Du Dir den Tastenstatus merken und mit dem aktuellen vergleichen. Für Tasten lohnt es sich generell nicht, einen Interrupt zu verschenken. Die Bedienung erfolgt so langsam, das ein pollen alle 20ms reicht. Außerdem ist es einfacher die Taster zwischen Port und GND zu klemmen, dann kannst Du den internen Pull-Up nutzen und sparst ein Bauteil. Rick
Ok danke für die Antworten... Ich kann eben nur Programmieren ;) Also einfach 'nen Timer laufen lassen und den Status zyklisch überprüfen?
ja, bei den internen pull-ups würde ich aber etwas vorsichtig sein, wenn der kontakt (zum port pin) mit den fingern berührt wird kann es sein, dass das einen tasten-druck gleich kommt. (wir sind schöne antennen)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.