Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage: Port und Pin bei AVR's


von CopyConstructor (Gast)


Lesenswert?

Hallo,

ich bin gerade dabei mir die Assemblerprogrammierung der Atmel
Microcontroller anzueigenen.
Was ich nicht verstehe ist folgendes:
Warum gibt es bei den SFR Registern sowohl PortX als auch PinX ?
Ich dachte ein Pin ist ein Bit eines Ports?!
Was hat es mit den Pin Registern auf sich, wofür benötige ich diese,
bzw. warum unterscheidet man Pin und Port Register?

Danke für die Erklärung,

grüße
Tobias

von ,,,, (Gast)


Lesenswert?

PortX ist zur Ausgabe also das setzen auf 1/0. PinX ist zum einlesen.

von Hannes L. (hannes)


Lesenswert?

PINx steht vermutlich für Port-Input.

Zu jedem Port gibt es ja:
PORTx als Portregister für Ausgang oder zum Schalten der PullUps
DDRx als Datenrichtungsregister
PINx als Eingangsregister

Genaues steht im Datasheet zu Deinem AVR.

...

von johnny.m (Gast)


Lesenswert?

Bsp.: Wenn Du mit DDRx.n einen Pin als Eingang definiert hast und mit
PORTx.n = 1 den entsprechenden Pull-Up aktivierst, dann ist PORTx.n
immer 1, egal, was extern an dem Pin passiert. Wenn Du ein externes
Ereignis (also wenn der Pin von außerhalb auf Masse gezogen wird)
erfassen willst, musst Du den aktuellen Zustand des Pins einlesen
können. Und das geht über PINx.n. Im Tutorial auf dieser Seite stehts
aber glaub ich auch...

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.