www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik datenrichtung festlegen


Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte am port A daten einlesen
also muss ich ja laut tutorial folgendes schreiben:
uint8_t a;
uint8_tb;
DDRA =0x00;
a = PORTA;

doch muss ich wenn ich danach daten wieder am port a ausgeben möchte 
erst wieder
DDRA=0xFF;
PORTA = b;

schreiben?
sprich muss ich die richtung jedes mal erst bekannt machen oder wird das 
automatisch erkannt und gegebenfalls umgestellt?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@anfänger

Das ist eher eine Frage für das Forum GCC.

>ich möchte am port A daten einlesen
>also muss ich ja laut tutorial folgendes schreiben:
>uint8_t a;
>uint8_tb;
>DDRA =0x00;
>a = PORTA;

Klassischer Anfängerfehler.

a = PINA;

>doch muss ich wenn ich danach daten wieder am port a ausgeben möchte
>erst wieder
>DDRA=0xFF;
>PORTA = b;
>schreiben?
>sprich muss ich die richtung jedes mal erst bekannt machen oder wird das

Ja.

>automatisch erkannt und gegebenfalls umgestellt?

Nein.

MFG
Falk

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das ist eher eine Frage für das Forum GCC.
Sehe ich nicht so. Das ist auch für nicht-GCC-Compiler und für Assembler 
so. Wer sagt denn, dass der OP mit GCC arbeitet?

Allgemein:
DDRx legt die Datenrichtung fest
PORTx legt den Zustand der Treiberstufe fest (bei Ausgang: High-Pegel 
oder Low-Pegel, bei Eingang interner Pull-Up ein oder aus)
PINx enthält den jeweils aktuellen Zustand des betreffenden Ports.

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.