Sind die Ports von PIC-µC tri-state oder nicht?

Gast #175821
Lesenswert?

"Tristate sind sie meines Wissens nach nur im Zustand des Resets."

Ich habe in Zwischenzeit irgendwas gefunden, und zwar beim CCS-Compiler
gibt es Function "output_float". Ich habe sie kompiliert, auch mit
"output_low" und "output_high", um den Unterschied zu finden und
dies habe ich bekommen:

....................    output_float(pin_A0);
000F:  BSF    03.5
0010:  BSF    05.0
....................    output_low(pin_A0);
0011:  BCF    05.0
0012:  BCF    03.5
0013:  BCF    05.0
....................    output_high(pin_A0);
0014:  BSF    03.5
0015:  BCF    05.0
0016:  BCF    03.5
0017:  BSF    05.0

Also, "output_float" ist etwas gleich als "output_high" - beide
setzen Bit auf 1 (BSF 05.0).
Gast #175822
Lesenswert?

Meines Wissens sind Pins, welche als EINGANG definiert sind, hochohmig.
Müsste bei allen uCs so sein. Man muss dann nur die nicht benutzten
Eingänge bei der Auswertung berücksichtigen.

Stephan.
Gast #744501
Lesenswert?

... so ich versuch mal das mal aufzuklären.

z. B.: bei PIC:

  .) will man einen PIN als output --> ist der "schalter" TRIST.
    (hochohmig) geschlossen!!! Der Pin kann sowohl von +5V als auch
     gegen
     massen einen strom treiben!

  .) will man einen Pin als input --> TRIST. ist offen


Hilfreich und interessant kann diese Information bei BUS - Systemen 
sein. Jedoch kann man mit dieser Information mit einem  PIC's z.B.: 12 
LED's über 4 pins und 4 mal 100 OHM Widerstände ansprechen! Tristate 
spielt hier eine wichtige Rolle. Mit einem 8051 ist das nicht möglich!

Setzten des TRIST. einfach mit SETB, oder in C mit Zuweisung = 1;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren