Frage zum AT90S2313

Gast #72042
Hallo.
Ich habe mir eine kleine Schaltung zum Experimentieren mit dem µC
At90S2313 aufgebaut.
PortD verwende ich als Eingang. Ich habe da einfach Stiftleisten auf
die Platine gelötet, auf die man dann Jumper setzen kann um den Pin auf
HIGH zu setzen. Außerdem habe ich 22k-Pulldown-Widerstände (gegen
Masse) geschaltet.

PortB ist der Ausgang. Die 8 Pins steuern über 330 Ohm-Widerstände
jeweils eine LED an, wobei die Anode am µC liegt und Kathode an Masse.

Nun mein Problem:
Ich habe den µC so programmiert, dass er die Eingänge einliest und dann
an die Ausgänge ausgibt, also PortB=PinD
Es funktioniert auch fast alles, nur dass Eingang PD1 komischerweise
dauernd auf High ist und somit auch ständig die LED an PB1 leuchtet!

Woran kann das liegen? Wenn ich den Eingang PD1 direkt auf Masse ziehe,
dann geht auch die LED PD1 aus (und bleibt dann auch meistens aus).
Sind meine Pull-Down-Widerstände zu groß gewählt?
Gast
kommt drauf an, ob du die internen pullups aktiviert hast. Wenn ja
(PortD=0xff) sind 22k nicht besonders glücklich gewählt.
Machs doch einfach andersrum: aktiviere die internen pullups, Schalter
gegen Masse.
Gast
Hi.
Schalter gegen Masse ist für meinen Zweck nicht praktisch.
Später sollen die Eingänge nämlich an den Parallelport angeschlossen
werden und es soll dann auch im µC eine '1' ankommen, wenn der
Prallelport eine '1' sendet. Übergangsweise nehme ich jetzt einfach
die Jumper.

Hab das Problem aber gerade lösen können. In der Schleife habe ich
einfach den problematischen Pin auf 0 setzen lassen.
Danach wird dann der Eingang gelesen und an den Ausgang geschrieben.
So funktioniert es problemlos.

PS: Muss PortD=0xFF oder DDRD=0xFF heißen?
Mit welchem Wert kann ich die Pull-Ups deaktivieren?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.