www.mikrocontroller.net

Forum: Compiler & IDEs PORTA liest falschen Wert ein


Autor: Hajo (Gast)
Datum:

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

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Taste, die deinen IRQ auslöst, ist aber noch an PortD, oder?

Autor: Hajo (Gast)
Datum:

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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
INT0 hat nichts mit PORTA zu tun. Der wird nur von PD2 ausgelöst.

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

Bewertung
0 lesenswert
nicht lesenswert
Avcc ist angeschlossen?

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.