I/Os als Eingang und Ausgang

OP #495422
Lesenswert?
• ▲
▼
Hallo,

kann man einen I/O zur Laufzeit von Eingang auf Ausgang umdefinieren und 
wenn ja muss dabei was beachtet werden?
Ich habe einen Pin mit einem Externen Pullup von 4,7K gegen VCC gezogen. 
Bisher ist das reiner input, also mit config portb.3=input definiert. 
Darf ich  den einfach mit config portb.3=output zum Ausgang machen und 
im Programm später wieder auf Eingang stellen?
Kann der Interne Pullup tatsächlich nur von allen Pins entweder ein oder 
ausgeschaltet werden oder kann ich auch einzelne Pullups abschalten?

Gruß
Florian
Gast #495423
Lesenswert?
• ▲
▼
kannst du jederzeit umstellen (ausser bei bestimmten Sonderfunktionen 
der Pins, ist beispielsweise der UART-Transmitter ein, ist der TxD-Pin 
ein Ausgang).
Prinzipiell kannst du jeden Pullup einzeln ein/ausschalten.
Gast #495435
Lesenswert?
• ▲
▼
Hallo,

tristate = 3 Zustände.

Normalerweise liefert ein Ausgang L oder H Pegel, also 2 Zustände.

Beim dritten wird er komplett abgeschaltet.
Wenn man z.B. mehere IC-Ausgänge auf einem Bus parallel schalten will, 
darf nur einer gleichzeitig aktiv sein, die anderen müssen hochohmig 
geschaltet werden, damit sie nicht stören oder Schaden anrichten.

Wenn 2 Ausgänge parallel geschaltet sind und einer liefert H- und einer 
L-Pegel, dann kannst Du Dir selbst denken, was passieren kann...

Gruß aus Berlin
Michael

Gast #495439
Lesenswert?
• ▲
▼
Hi,

tristate bedeutet, daß es nicht nur zwei Zustände (1/0 bzw H/L) gibt, 
sondern noch einen dritten (meist 'X' oder 'Z'). Im dritten Zustand ist 
der Ausgang hochohmig. Da AVRs das nicht direkt können, simuliert man 
daß indem man den Pin als Eingang konfiguriert und den Pullup 
ausschaltet. Sowas wird benötigt, wenn man mehrere Ausgänge 
zusammenschalten will/muß.

CU Frank

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.