PIC18F2580: verwirrendes Verhalten bei mehrfach belegten Ports

12/02/2008 - 15:27 von Thomas Rachel | Report spam
Hallo,

ich àrgere mich derzeit noch immer mit dem PIC18 rum, dessen GPIO-Pins
ja bekanntlich (wie bei vielen anderen µCn auch) mit andren Funktionen
gemultiplext sind.

Konket haben wir gerade das Problem, daß das Teil trotz "Sleep Mode"
mehrere mA Strom zieht.

Vielleicht bin ich blind, aber leider finde ich keine eindeutige
Beschreibung, ob und inwieweit die GPIO-Funktion und die anderen
Funktionen sich beeinflussen.


Beispiele:

1. Bei Pins, die für die Verwendung mit dem ADC vorgesehen sind und
konfiguriert werden, müßte eigentlich die GPIO-Funktion deaktiviert
sein, da dieser sowohl schreibend den Pin beeinflußt (offensichtlich -
er würde Einfluß aufs Potential nehmen) als auch lesend (Signale, die
"mittendrin" liegen, könnten im Eingangsbuffer dafür sorgen, daß ein
Querstrom fließt.)

[Weiterer Punkt zum Thema ADC: Wenn ich Vref+ verwende, muß ich dann
diesen Pin auch für die Verwendung als ADC-Eingang konfigurieren, oder
spielt es bei einem Pegel, den die GPIO als 1 wertet keine Rolle,
solange TRIS=1 ist?]


2. Bei der Beschreibung von Port C steht dabei:

When enabling peripheral functions, care should be
taken in defining TRIS bits for each PORTC pin. Some
peripherals override the TRIS bit to make a pin an output,
while other peripherals override the TRIS bit to make a
pin an input. The user should refer to the corresponding
peripheral section for the correct TRIS bit settings.

Das widerspricht sich doch. Wenn die "peripheral functions" das TRIS bit
overriden, worauf muß ich dann noch "care taken"? Zumal

a) nicht bei allen Funktionen wirklich die korrekten TRIS bit settings
dabei stehen und
b) bei manchen eben doch dabei steht, wie sie gesetzt werden müssen -
also wird da wohl doch nicht "overridet"...


Wàre froh, wenn mir da jemand einen kleinen Schubs in die richtige
Richtung geben könnte...


TIA,

Thomas
 

Lesen sie die antworten

#1 Thomas Rachel
12/02/2008 - 19:13 | Warnen spam
Thomas Rachel schrieb:

Vielleicht bin ich blind,



JFTR und für andere, die sich ebenfalls an dem Problem den Wolf suchen:
Ja, bin ich.

Die Tabellen in den betreffenden Port-Kapiteln haben eine Spalte "TRIS",
wo der jeweils für diesen Port und die gewàhlte Funktion zuzuweisende
Wert beschrieben steht.


Thomas

Ähnliche fragen