www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pin als Tristate-Ausgang beschalten


Autor: Darius Zohurian (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe folgende Frage:

Kann ich bei einem at90can128 einen Pin als Tristate-Ausgang
betreiben?

tristate funktion: (A = mein Ausgangspin) (E,G Pins die zur verfügung
stehen)

E   G    A
0   0    Hi-Z
0   1    0
1   0    Hi-Z
1   1    1

Ich habe die Pin möglichkeiten als Bild mitgeliefert, wie muss ich die
register beschalten, damit es funktioniert?

Vielen Dank für Antworten,
Darius

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm? steht doch da.

Hi-Z:
DDRx=0, PORTX=0
0:
DDRx=1, PORTX=0
1:
DDRx=1, PORTX=1

Autor: Darius Zohurian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Simon,

ja Du hast recht, aber wenn man den Ausgang z.B. über eine Switch case
Anweisung verändern möchte, muss man im schlechten Fall zwei bits
verändern, d.h. man bekommt einen zwischenzustand, denn man gar nicht
haben will.

deshalb meine verbesserte Frage, kann man es lösen, ohne zwei bits (im
schlechtesten Fall) verändern zu müssen?

Gruß,
Darius

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht gegen sowas hier?

E   G    A
0   0    Hi-Z
0   1    0
1   0    Hi-Z
1   1    1
switch(E)
{
  case 0:
    PORTx = 0;
    if (G) DDRx = 1;
    else DDRx = 0;
    break;
  case 1:
    if (G) 
    .
    .
    .
    break;
}

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.