PORTA liest falschen Wert ein

Gast #765825
Lesenswert?

Hallo zusammen,

ich habe ein mega32, und habe folgendes Programm zum auswerten eines 
binären Tastenwerts an PORTD5-PORTD7 geschrieben.
Auf PORTD klappt auch alles nur will ich es auf PORTA haben.

(Leitungen habe ich natürlich auf PORTA umgelötet.
DDRD,PIND habe ich durch DDRA,PINA ersetzt.)

SREG = SREG | 0x80;         //Interrupt generel freigeben
MCUCR = MCUCR &~ 0x01;      //INT0 Fallende Flanke
MCUCR = MCUCR |   0x02;     //INT0 Fallende Flanke
GICR = GICR | 0x40;         //INT0 Enable
GIFR = GIFR | 0x40;         //INT0 Reset

DDRD = 0x00;                //DDRD Eingang Pin 5-7 = Tastertur A0-A3
...

while(1)
  {
         dis_char(2,10,(glob_Taste+48));
  }

...

//Interrupt Serive Routine für Tastaturwert (externer Interrupt 0)
ISR(INT0_vect)
{
glob_Taste = ((PIND & 0xE0)>>5);//glob_Taste = Tasterturwert
GIFR = GIFR | 0x40;        //INT0 Reset
}

Danke schon mal fürs lesen.

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