Atmega 16 -> ext. Interrupts - Anfängerfrage

Gast #492973
Lesenswert?
• ▲
▼
Hallo!

Ich versuche momentan einen ext. Interrupereignis über einen Taster zu 
Programmieren.(INT0, PD2)
Aber ich bekomme es einfach nicht zum laufen, daher ein paar Fragen:

- interrupt.h ist eingebunden.
- GICR |= (1<<INT0); //Interrupt INT0 aktivieren
- MCUCR |= (1<<ISC01); //Interrupt INT0 auf steigende Flanke setzen
  MCUCR |= (1<<ISC00);

- Taster ist als Eingang konfiguriert

- ISR(INT0_vect) {} ist gesetzt.
  Dazu eine Frage: Muss ich hier alle Tasten/Display neu Initialisieren 
oder übernimmt er das vom Hauptprogramm?


Eigentlich sollte es doch schon laufen oder?

Danke
Gast #492988
Lesenswert?
• ▲
▼
1.: Für Taster nimmt man keine externen Interrupts.
2.: Wie sieht es mit Entprellung aus?
3.: Stimmt die Flankeneinstellung überhaupt? Taster sind i.d.R. nach 
Masse angeschlossen, um die internen Pull-Ups nutzen zu können. Das gibt 
beim Drücken eine fallende Flanke.
4.: Schau Dir bitte das Tutorial an!

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.