PIND vs PORTD

Gast #346923
nein PORTD kannst du zwar auslesen, da wird aber nur das drin stehen was
du vorher rein geschrieben hast. PIND ist um den tatsächlichen port
status ein zu lesen.
Gast #346924
ja, PORTD kann auch gelesen werden. Allerdings steht da drin, was du
auch in PORTD reingeschrieben hast. In PIND steht das drin, was an den
Port-Pins anliegt, wenn diese per DDRD als Eingang geschaltet wurden.
Dann steht in PORTD der Zustand der internen Pull-Up-Widerstände.
Gast #346925
PIND benuztst du wenn der PIN als Eingang funktuiniert, und ud möchtest
die Status lesen. PORTD benutzst du wenn es ist ein Ausgang und du
möchtest lesen was hast du im PORTD geschriben.

Wenn ein PIN als eingang konfiguriert ist, mit PORTD.x = 1, du
aktivierst ein pull-up Wiederstand in der PIN.

Ich hoffe es hilft.
Gast #346926
PORTD ist das Portregister, das den Zustand der Ausgangstreiber enthält,
völlig unabhängig davon, was an dem Pin (extern) wirklich passiert. PIND
ist kein Register, sondern nur eine Adresse im IO-Space, an der der
aktuelle Zustand des Pins gelesen werden kann.
Gast #346929
Genau so isses. Zum schreiben den Port als Ausgang (DDRD.x = 1), Daten
in PORTD.x schreiben, und zum lesen als Eingang (DDRD.x = 0) und die
Daten über PIND einlesen. Vor dem Einlesen sollte man natürlich noch
das Portregister in einen definierten Zustand bringen (da die üblichen
LCDs aktive Ausgänge haben, sollte man dann PORTD.x = 0 setzen
[Pull-Ups ausgeschaltet], und zwar am besten vor dem Umschalten der
Datenrichtung).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 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.