Mega32 INT2 problem

OP #1474871
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


....
OP #1475064
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

}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren