www.mikrocontroller.net

Forum: Compiler & IDEs Atmega 16 -> ext. Interrupts - Anfängerfrage


Autor: Jericho_one (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
5. sind die Interrupts mittels sei überhaupt zugelassen?
6. Du sitzt vor deinem Code und kannst das Problem nicht sehen.
   Wir haben keinen Code und trotzdem denkst du wir wüssten
   was du programmiert hast. Das ist doch nicht dein Ernst?

Autor: Sebastian S. (goerk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
int main(){

  //initialilze

  GICR |= (1<<INT1);      // enable INT1

  MCUCR |= (1<<ISC11);    // INT1 on falling edge

  sei();                              // general Interrupt enable

  while(1){

         }
}

ISR(INT1_vect) {

}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.