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
PortX ist zur Ausgabe also das setzen auf 1/0. PinX ist zum einlesen.
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. ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.