Hi, frage mich grade ob man nur maximal zwei (INT0/INT1) Interruptgesteuerte Taster an den Atmega8 anschließen kann? Sagen wir ich habe sechs Taster. Mit If() den aktuellen Zustand abfragen kann ja keine Lösung sein.
Was spricht denn dagegen, nur einen Interrupt-fähigen Eingang für alle Taster gemeinsam zu verwenden, und dann in der Interruptroutine selbst zu überprüfen, welcher Taster die Unterbrechung ausgelöst hat? Zeit dafür ist doch bei menschlich betätigten Tastern wohl mehr als genug. LG, N0R
Fritz schrieb: > Sagen wir ich habe sechs Taster. Mit If() den aktuellen Zustand abfragen > kann ja keine Lösung sein. prinzipiell doch... Fritz schrieb: > frage mich grade ob man nur maximal zwei (INT0/INT1) Interruptgesteuerte > Taster an den Atmega8 anschließen kann? sowas ist in den meisten Fällen eh eine schlechte Idee
Hallo Fritz, zum Entprellen brauchst Du doch meist sowieso einen Timer. Also alle 1ms abfragen... Dafür muss es kein Interruptanschluss sein. Grüße, Kurt
Kannst auch einen MAX6818 nehmen ESD bis 15 kV, spannungsfest bis 25 V, latsch, ein Interruptausgang und Entprellung. Vlg Timm
Fritz schrieb: > Sagen wir ich habe sechs Taster. Mit If() den aktuellen Zustand abfragen > kann ja keine Lösung sein. Doch, genau das ist die Lösung. Allerdings fragt das if nicht die Tasten direkt ab, sondern die Ereignisflags der Entprellroutine, die im Timerinterrupt (5..50ms) ausgeführt wird.
AUA! Taster gehören sowas von nicht an Interrupts. Nimm die diversen Entprellungsroutinen aus dem Forum hier für sowas.
Danke Kurt! Hatte die Entprellung garnicht in Betracht gezogen.
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.