PIC Register APFCON

OP #5220092
Lesenswert?

Hallo erstmal, :)

ich beschäftige mich seid kurzem mit PIC´s und habe eine Frage bezüglich 
der IO´s, bzw. des APFCON- Registers.

Ich habe bisher AVR und MSP430 programmiert und da war es ein wenig 
anders.

Ich arbeite mit dem PIC16F1503 und möchte generell alle IO´s auch als 
digitale Ein- und Ausgänge verwenden. SPI oder andere Funktionen 
interessieren mich bei diesem Projekt nicht.

Schaue ich ins Datenblatt, dann sehe ich, dass ich die alternative Pin 
Funktion über das APFCON verwalten kann.

So weit so gut.

So und jetzt kommt mein Verständnisproblem:

Ich möchte aber RAC4,RAC,... und alle als Ein/Ausgänge verwenden.

Wie verhalten sich die I/Os wenn ich diese als normale GPIO´s verwende?
Das Datenblatt sagt folgendes:

These bits have no effect on the values of any TRIS
register. PORT and TRIS overrides will be routed to the
correct pin. The unselected pin will be unaffected.

<----- Bedeutet dies, dass ich knallhart diese trotzdem als GPIO´s 
verwenden kann, durchs normale initialisieren des TRIS-Registers??

Vielleicht hat ja jemand mehr Erfahrung :)

Vielen Dank.
Angehängte Dateien:
Gast #5220171
Lesenswert?

Ben K. schrieb:
> Schaue ich ins Datenblatt, dann sehe ich, dass ich die alternative Pin
> Funktion über das APFCON verwalten kann.

Das hat mit der Frage

Ben K. schrieb:
> Ich möchte aber RAC4,RAC,... und alle als Ein/Ausgänge verwenden.
>
> Wie verhalten sich die I/Os wenn ich diese als normale GPIO´s verwende?

nichts zu tun.

Ein Pin ist entweder einer internen Funktion zugeordnet oder ist ein 
GPIO. Wann er was ist, hängt von der Funktion ab. Meist gewinnt die 
Funktion (I2C, SPI ..) wenn sie enabled ist, genaueres steht im 
Datenblattabschnitt der jeweiligen Funktion. Ist der PIN GPIO, bestimmt 
man mit dem Bit im TRIS-Register die Datenrichtung.

Ben K. schrieb:
> <----- Bedeutet dies, dass ich knallhart diese trotzdem als GPIO´s
> verwenden kann, durchs normale initialisieren des TRIS-Registers??

TRIS bestimmt nur die Richtung, nicht ob es ein GPIO ist.

Nun gibt es für manche der Funktionen nicht nur einen festen Pin, 
sondern man kann sie, z.B. um das Layout zu erleichtern, an verschiedene 
Pins binden. Das macht man mit APFCON.

Wenn du dein gepostet mal liest findest du z.B.

1 = SDO is on RA4
0 = SDO in on RC2

Es passiert dann genau das, was da steht. Und ob SDO aktiv ist, bestimmt 
die SPI-Funktion.

MfG Klaus
OP #5220212
Lesenswert?

Hallo Klaus,

Danke, aber das war mir bereits bewusst.
Ich versuche mal meine Frage zu konkretisieren.

Ein Bespiel:
Ich habe über das Register APFCON so konfiguriert das RC2 = SDO ist.
(Bsp.: APFCON = 0x00)
SPI ist deaktiviert.

Jetzt möchte ich RC2 als Ausgang oder Eingang festlegen.

Jetzt meine Frage, und bitte darauf antworten:

Ist eine solche Handhabung möglich?
Ja/ Nein?

Was passiert am besagten PIN??

Gruß
Ben
Gast #5220339
Lesenswert?

Ben K. schrieb:
> Ich habe über das Register APFCON so konfiguriert das RC2 = SDO ist.
> (Bsp.: APFCON = 0x00)
> SPI ist deaktiviert.

Damit ist RC2 nicht als SDO konfiguriert!

Erst wenn SPI aktiviert wird, wird RC2 mit APFCON und der Funktion SDO 
belegt.

> Jetzt möchte ich RC2 als Ausgang oder Eingang festlegen.
>
> Jetzt meine Frage, und bitte darauf antworten:
>
> Ist eine solche Handhabung möglich?

Ja!

Du hast dem Pin RC2 keine Funktion zugewiesen. Er kann als I/O genutzt 
werden. Allerdings gibt es (gerade bei Microchip-PICs) manchmal auch 
noch andere Funktionen, die auf den Pins in der Grundkonfiguration 
eingeschaltet sind:
-> Analoge Funktionen immer abschalten, wenn diese nicht benötigt 
werden.

met@boxler
Angehängte Dateien:

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