"zwei Stufen LEDs"

Gast #268258
Hallo,

Ich habe einen externen Interrupt. Wenn ich den Pushbutton druecke
sollen meine LEDsihren Zustand aendern (an/aus). Das funktioniert auch
ganz gut, aber es geschieht nicht sofort, sondern in zwei Stufen:
zB wenn alle LEDs an sind:
Ich druecke den Interrupt-> die LEDs leuchten schwaecher (ca
1Sekunde)->danach gehen sie ganz aus.

umgekehrt genau so.

Wenn ich die LEDs einfach ansteuere geht das fix: direkt voll an oder
voll aus. In der Interruptservice-Routine aendere ich einfach den
Status der Bits. Warum sind geht das da nur so langsam und in zwei
Stufen?

...verwende einen ATMega16.

mg,
Johannes
Gast
mach das per Sofware. (weniger Aufwand)
Dazu gibt es in der Codesammlung nette Beispiele...
Und Tasten fragt man eher nicht per Interrupt ab, solange der
Controller nichts wichtigers zutun hat.
Gast
Ich frag die Taste nicht ab... sie ist am INT0 Pin angeschlossen. Wenn
man sie drueckt erzeugt sie einen Interrupt. Ist das nicht Standard so?
kann man das eleganter machen?

mg,
Johannes
Gast
Tasten an normale Portpins anschließen, und zwar nach Masse. Den
internen PullUp des betreffenden Portpins aktivieren. Einen Timer
zyklisch (z.B. alle 10ms) den Pin testen lassen (über
Overflow-Interrupt und eine kleine ISR). Ein Flag anlegen. Taster
mindestens 2x lesen und Flag entsprechend setzen, wenn beide Male der
gleiche Pegel gelesen wird, Schaltvorgang auslösen, ansonsten weiter
abfragen, bis sie 2x denselben Wert hat. Das funktioniert dann für
beide Schaltzustände an und aus gleich gut.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.