Forum: Mikrocontroller und Digitale Elektronik Probleme beim Einlesen eines Ports


von André M. (killroymenzel)


Angehängte Dateien:

Lesenswert?

Hallo....

Ich benutze ein ATMEGA128A Ev.Board.
Ich schaff es einfach nicht, einen Port einzulesen und auszuwerten.
Ich habe an PortB 4 Taster (gen GND) und an PortD 2 Taster (gen GND)mit 
ext. Pullups.

Das Programm bewirkt ein (Knight Rider) lauflicht an PortC.

Das funktioniert auch soweit, nur das ich mit Tastendruck ein 
zusätzlichen
Richtungswechsel der laufenden LED herbeiführen will.

Aber nichts passiert, wenn ich den Taster drücke.

Derzeit will ich den Taster PD0 nehmen, da der einen ext Pullup besitzt.

Allerdings möchte ich später die Taster PB0-PB4 benutzen, die keinen 
ext. Pullup haben, und den internen benutzen.

Aber das Hauptproblem: ich kann keinen der Ports einlesen.

Was mache ich denn da falsch....

Wenn ihr mal auf mein kleines Programm schauen könntet,
wäre ich über Hilfe/Kritik/Verbesserungen dankbar.....


Andre

von Thomas E. (thomase)


Lesenswert?

andre menzel schrieb:
> Aber das Hauptproblem: ich kann keinen der Ports einlesen.
> Was mache ich denn da falsch....
> in    r18,PORTD    ;PortD einlesen

Ports werden mit PINx eingelesen!

mfg.

von spess53 (Gast)


Lesenswert?

Hi

>  in    r18,PORTD    ;PortD einlesen

Das Eingangsregister ist PIND.

MfG Spess

von killroymenzel (Gast)


Lesenswert?

Danke jetzt geht's.......

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas Eckmann schrieb:
> Ports werden mit PINx eingelesen!
@  andre menzel (killroymenzel)
Das steht im Datenblatt. Viele andere interessante Dinge auch...
Und die Suche hier im Forum hätte da sicher auch was gebracht: 
https://www.mikrocontroller.net/search?query=avr+port+einlesen

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
Noch kein Account? Hier anmelden.