Hallo, ich habe beim Anschluss eines Interrupt bzw bei der Schaltung ein Problem und komme nicht weiter. Und zwar: ich wollte bei einem ATmega8 den Interrupt0 anschließen, doch das klappt nicht ganz. Kann mir jemand die kleine Schaltung (also nur das für den Interrupt) aufzeichnen oder sagen, wie ich zb mit einem kleinen Schalter den Interrupt auslöse. Also kein Code nur wie ich die "Hardware" davor anschließe. Müsste eigentlich maximal ein Kodnensator und eine Schalter sein, oder brauche ich noch irgendwas anders? Schonmal vielen dank!
pullup 10k und taster gegen gnd. ausser du machst die internen pullups an, dann kannste dir den 10k auch sparen.
An welchen Pin möchtest du was anschließen. Nehme mal an es sollte der INT0 sein. Das ist aber kein Interrupteingang sondern der externe Takteingang des Timer0. Dazu solltest du das Datenblatt lesen.
Den Kondensator brauchst du nicht. Du brauchst ein Bauteil, dass dir den Ruhepegel sicherstellt, also den Pegel bei dem der Interrupt nicht auslösen soll. I.d.R. ist das ein Widerstand. Es hängt von der Anordnung des Schalters (Tasters) ab, wie der Widerstand anzuordnen ist: Schalter schaltet nach Vcc (active high), dann Widerstand nach GND (Pull-Down). Schalter schaltet nach GND (active low), dann Widerstand nach Vcc (Pull-Up). Die häufigere Schaltungsvariante ist die active low Variante, weil man dafür die internen Pull-ups des AVR benutzen kann: Interner Pull up:
1 | / |
2 | Pin o-----o o-----o GND |
3 | S |
Externer Pull up:
1 | Vcc |
2 | o |
3 | | |
4 | # |
5 | # R (z.B. 10k) |
6 | # |
7 | | / |
8 | Pin o--+--o o-----o GND |
9 | S |
Das Thema Entprellung kannst du anschliessend mit einem Kondensator angehen, aber i.d.R. werden andere Verfahren empfohlen.
Hubert G. schrieb: > Nehme mal an es sollte der INT0 sein. Das ist aber kein Interrupteingang Falsch. Geh erst mal in die Küche und iss ein paar Kaffebohnen. > sondern der externe Takteingang des Timer0. Auch falsch. Dieser sitzt an PD4 und nennt sich "T0". > Dazu solltest du das Datenblatt lesen. Du aber auch. Gruß, Magnetus
Ja, schon gesehen das ich da mal zu schnell war und INT0 mit T0 verwechselt habe.
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.