www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage DDRX PX0-PX7


Autor: Stefan T. (_distance_07)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn ich z.B. das Register DDRB mit einem Wert von 255 0xFF ... 
beschreibe, heißt das ja, dass PB0 bis PB7 als Ausgang festgelegt sind.

Aber wie lege ich einen einzelnen Pin eines Ports als Ausgang oder 
EIngang fest ?

Mit freundlichem Gruß und ein schönes Wochenende noch

Stefan

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Datenrichtung_bestimme 
n

Autor: Stefan T. (_distance_07)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich programmiere in Assembler und das auch erst seit ein paar Tagen, 
will mich jetzt erstmal noch nciht mit C auseinandersetzen.

Hat jemand ne Antwort in Assebler ?


nen kleiner, 4 Zeilen Beispielcode mit Erläuterung würd schon reichen.


MfG

Stefan

Autor: Gregor B. (gregor54321)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versucht anhand der obigen Anleitung rauszufinden, warum dez:255, 
hex:0xff, bin:0b11111111 alle Ports als Ausgang schaltet...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan T. (_distance_07)

>Ich programmiere in Assembler und das auch erst seit ein paar Tagen,
>will mich jetzt erstmal noch nciht mit C auseinandersetzen.

AVR-Tutorial: IO-Grundlagen
Bitmanipulation
AVR-Tutorial

>Hat jemand ne Antwort in Assebler ?

Kurzfassung. Die Zahl im Register DDRx musst du binär betrachten, sie 
hat 8 Bits. Jedes Bit entspricht einem IO-Pin vom AVR. Tip es binär in 
den Windowstaschenrechner und rechne in HEX oder dezimal um.

MFg
Falk

Autor: Stefan T. (_distance_07)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also so ?

0x  0     0     0    0     0     0     0     0
   /\    /\    /\   /\    /\    /\    /\    /\
  Pin7  Pin6  Pin5  Pin4  Pin3  Pin2  Pin1  Pin0



MfG

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan T. (_distance_07)

>Also so ?

Nicht ganz. Eher so, binär, nicht hex.

0b  0     0     0    0     0     0     0     0
   /\    /\    /\   /\    /\    /\    /\    /\
  Pin7  Pin6  Pin5  Pin4  Pin3  Pin2  Pin1  Pin0

MFg
Falk

Autor: Stefan T. (_distance_07)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..aber fast, hatte nur anstatt einen "0b" ein "0x" geschrieben....
Wobei es sich von selbst aufklären müsste, da eine 0x zahl nicht 8 
Stellen lang sein kann.. oder ?


Danke für die Antworten.

MfG

Stefan

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan T. (_distance_07)

>Wobei es sich von selbst aufklären müsste, da eine 0x zahl nicht 8
>Stellen lang sein kann.. oder ?

Klar, das ist dann eine 32 Bit Integerzahl ;-)

MFg
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.