Forum: Mikrocontroller und Digitale Elektronik Sind die Ports von PIC-µC tri-state oder nicht?


von Jack (Gast)


Lesenswert?

...Und wenn ja, dann wie kann man den floating-Zustand auf Port setzen?
Ich weiss nur, dass man mit TRIS ein Port als Eingang oder Ausgang
setzen kann..

Gruß,
Jack.

von Jens (Gast)


Lesenswert?

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

von Jack (Gast)


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).

von Stephan (Gast)


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.

von hulzi (Gast)


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;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.