Forum: Mikrocontroller und Digitale Elektronik Microchip Controller


von Mejri M. (mehdi)


Lesenswert?

Was ist der Unterschied von "standard io" und "fast io" beim
ccs-c-compiler für die Microchip Controller(z.b für 12Fxxx bzw
.16Fxxx)?

von Schoasch (Gast)


Lesenswert?

Bei Standart IO setzt der CCS-Compiler vor jedem Zugriff auch die
Tris-Register.

Also bei input(PIN_A2) wird zuerst RA2 als Eingang definiert und dann
eingelesen. Das gilt natürlich auch für eine Ausgabe.

WEnn du fast_IO aktivierst, musst du dich selbst um die Tristate
Register kümmern.

von Mejri M. (mehdi)


Lesenswert?

Danke ,
Ich habe mal endlich eine Antwort auf meine Frage.Das war damals eine
Klausure Frage??

Mfg Mehdi

von Schoasch (Gast)


Lesenswert?

Hier noch schnell das Assambler Listing(aus MPLAB)
ohne fast_IO:
;       OUTPUT_HIGH(PIN_B2);
 BCF 0xa, 0x2
 MOVF 0xa, W
 TRIS 0x6
 BSF 0x6, 0x2

mit fast_IO:

;       OUTPUT_HIGH(PIN_B2);
 BSF 0x6, 0x2

Somit ersparst du dir 3 Befehle. Bei den PIC16F werden es glaube ich
noch mehr sein, da du ja glaube ich zwischen den Bänken wechseln
musst.

Ich habs mit einem PIC10F202 getestet.

mfg Schoasch

von Mejri M. (mehdi)


Lesenswert?

Hallo,
Ich habe noch eine andere Frage:

Der Wizzard des ccs-compiler erlaubt die Aktivierung des "Weak
pullups" bei 12Fxxx-Controllern nicht,gibt es noch andere
Alternativen???

von Schoasch (Gast)


Lesenswert?

Externe Pullups wäre eine alternative. Oder ansonst per software
aktivieren. Ich hab mit den 12F aber noch nichts gemacht.. muss ich
erst einmal schauen.

von Mejri M. (mehdi)


Lesenswert?

Danke nochmals!!

von Dieter Werner (Gast)


Lesenswert?

Die weak pullups gibt es nur an Port B.
Wahrscheinlich hat der 12F... kein Port B.

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.