Hallo allerseits, ich bin Anfänger was die Microcontrollerprogrammierung angeht und mache gerade meine ersten Schritte auf einem ATmega16-16PI. Ich habe mir schon verschiedene Tutorials zur Assemblerprogrammierung durchgelesen und soweit auch verstanden. Ein erstes Programm, das aus einem Softwarecounter mit zwei verschachtelten Schleifen besteht und eine LED blinken lässt, funktionierte prächtig. Das Problem, an dem ich nun aber schon stundenlang festhänge, ist das simple Einlesen eines Ports. Wie im angehängten Quelltext ersichtlich, möchte ich PortD einlesen und die Werte an PortC ausgeben. An C0 hängt eine LED, D0 lege ich extern auf 0V/5V. Doch Eingaben an diesem Port bewirken rein gar nichts. Aktiviere ich die Pullups wie im Quelltext gezeigt, dann geht die LED an, auch wenn ich D0 auf Masse lege, am offenen Eingang D0 sind 5V messbar. Deaktiviere ich die Pullups hingegen, dann ist auch die LED aus, unabhängig davon, was ich mit D0 mache. Wo steckt mein Denkfehler, oder ist der Controller fehlerhaft? Vielen Dank schon mal für die Hilfe. Gruß, Björn
Vielen Dank! Da habe ich wohl das Datenblatt etwas falsch interpretiert. Gruß, Björn
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.