Guten Abend, ich würde gerne wissen, ob man eine Schalterstellung pes Interrupt abfragen kann. Folgendes virtuelles Szenarion, um polling zu umgehen: Ich habe einen Schalter an einem Port. Nun schalte ich den Schalter ein (High-Signal am Pin x). Jetzt soll ein Interrupt ausgelöst werden, der eine bestimmte Sache macht (z.B. einen anderen Pin auf High-Pegel setzen). Nun würde ich gerne ebenlalls in die gleiche INT-Routine springen, wenn der Schalter ausgeschaltet wird (also abfallende Flanke). Also ergibt sich folgende Fragestellung: Wenn ich den Schalter einschalte, wird durch die ansteigende Flanke ein Interrupt ausgelöst. Kann nun innerhalb dieser Routine das auslösen des selben Interrupts auf "fallende Flake" umgestellt werden? Bitte nur dieses Szenario kommentieren (nicht über Zweck nachdenken :-) Also kein Taster sondern ein Schalter. Danke und Grüße tobi
Falls du einen AVR (ATmega oder ATtiny) hast, dann musst du nichts umdrehen. Du kannst die INT-Routine bei beiden Flanken auslösen, muss nur im richtigen Register (MCUCR glaub' ich) definiert werden. Entprellung nicht vergessen!
Also kann nach auslösen der Int.Routine das High-Signal bestehen bleiben, ohne die Routine ständig auszulösen? War mir nicht sicher, ob es statisch oder Flankengesteuert wird, so ein Interrupt. Danke und liebe Grüße tobi
Bei den AVRs kannst du Flanken- und Pegelgesteuerten Interrupt auslösen. Schau dir mal ein Datenblatt an, da steht's haarklein drin!
tobi wrote: > ich würde gerne wissen, ob man eine Schalterstellung pes Interrupt > abfragen kann. Ja, aber nicht mit dem externen Interrupt, sondern nur mit dem Timerinterrupt. Der Grund ist, daß Schalter prellen, d.h. bei nem externen Interrupt würdest Du nur so mit Interrupts zugeballert, was äußerst selten erwünscht sein dürfte. Im Timerinterrupt (etwa alle 5..50ms), akzeptierst Du nur dann nen Zustand, wenn er mindestens zweimal gleich war und der Schalter ist entprellt. Peter
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.