mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega32 INT2 problem


Autor: Holger Patz (holgerp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem mit dem externen INT2 vom Mega32.

ich habe folgendes an code:

Externer INT0 und INT1 funktionieren, was mache ich falsch??


...

  // globale interrupt register INT0 - INT2 einschalten
  GICR |= (1<<INT0); // enable INT0 - PD2
  GICR |= (1<<INT1); // enable INT1 - PD3
  GICR |= (1<<INT2); // enable INT2 - PB2

  // INT2 fallend Flanke
  MCUCSR |= (1<<ISC2);

...

/*
** Interrupt routine für externen INT2 - PB2
*/
ISR(INT2_vect)
{
 TxUart("INT2\r\n");

}

...

sei(); Globale interrupts einschalten


....

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Holger Patz schrieb:

>   // INT2 fallend Flanke
>   MCUCSR |= (1<<ISC2);

Stimmt nicht. 1 nach Bit ISC2 von MCUCSR bedeutet Interrupt bei *rising 
edge* und du musst eine Mindestdauer des Pulses einhalten (tint typ. 50 
ns).

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Crosspost
Beitrag "INT2 Problem Mega32"

@  Holger Patz:
Hier kannst du auch direkt sehen, warum Crossposten böse ist. Mein 
Namensvetter hat jetzt seine Zeit mit etwas verschwendet, was im anderen 
Thread längst abgehandelt wurde.

Autor: Holger Patz (holgerp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Stefan,

ok stimmt, dann aber so

  // INT2 fallend Flanke
   MCUCSR&= ~(1<<ISC2);

Init Pins:

 // INT0
 cbi(DDRD, PD2);
 sbi(PORTD,PD2);

 // INT1
 cbi(DDRD, PD3);
 sbi(PORTD,PD3);


 // INT2
 cbi(DDRB, PB2);
 sbi(PORTB,PB2);

Beschaltung:

Taster an GND und an INT2. Wenn ich nun den Taster drücke sollte es doch 
mit der og. Einstellung klappen oder??

Tut's aber nicht.
Habe in der INT2 Routine einfach mal ein Piepsen ausgegeben über ein 
Buzzer um es ganz einfach zu halten.

Habe ich irgend wsa vergessen zu initialisieren ?

/*
** Interrupt routine für externen INT2 - PB2
*/
ISR(INT2_vect)
{
 Beep(5,200); // piept 5 mal für 200 ms

}

Autor: Holger Patz (holgerp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, dachte beim ersten Post, dass ich im falschen Thema gelandet wäre 
...

sorry kommt nicht wieder vor!

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.