Forum: Projekte & Code IO-Ports (AVR, Assembler)


von Andreas (Gast)


Angehängte Dateien:

Lesenswert?

Liest in einer Endlosschleife die Eingänge von Port D (IO-Register PIND) 
und gibt diese an den Port B (IO-Register PORTB) aus. Sollte mit jedem 
AVR laufen der einen Port D und einen Port B hat :-)

von RoBSki! (Gast)


Lesenswert?

Danke

von Axel(ojojo) (Gast)


Lesenswert?

Hi,

wer das zB mit Tastern probieren will und sich die PullUpWiederstände 
sparen möchte der nutzt einfach die InternalPillUps der AVRs
einfach for der loop-Schleife folgende Befehle setztn:

  ldi r16, 0b11111111 ; hier könnte man auch 0xFF schreiben aber ich 
find`s so sinnvoller
  out PORTD, r16  ;internal pullUps

jo
Axel

von Niki Hammler (Gast)


Lesenswert?

Hmm, ist ja nur so ne Frage aber aber ist PORTD nicht das Datenausgabe 
register? Wieso muss man dort alle Bits auf "1" setzen? Nicht DDRB?

(Ich frag nur, hab also keine Ahnung. Kann möglich sein dass sie 
aktiviert werden wenn man zuvor in das Register DDRB den Port als 
Eingang aktiviert hat?)

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Pullups werde eingeschaltet, wenn das betreffende 
Richtungsregister-Bit auf 0 (=Eingang) und das Port-Bit auf 1 ist.

MfG
Andreas

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.