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.
Habe die drei Leitungen die mir die Tastatur gibt an PORTA 5-7 umgelötet. Nur wird mit jetzt in der INT0 Routine der Falsche Wert der Taste übermittelt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.