Forum: Mikrocontroller und Digitale Elektronik RB4 als Eingang beim PIC18F46K80


von Target (Gast)


Lesenswert?

Hallo,

die Portleitung RB4 beim PIC18F46K80 habe ich als digitalen Eingang 
definiert. Obwohl sich der Eingangszustand ändert (mit Oszilloskop 
überprüft), lese ich konstant eine "0".
Probeweise habe ich diese Portleitung mal als Ausgang definiert und ein 
Rechtecksignal erzeugt. Das funktioniert einwandfrei. Ebenso sind alle 
Controlregister der Funktionen, die diese Portleitung auch benutzen, auf 
0 gesetzt.

Ich habe langsam keine Idee mehr, warum ich das Eingangssignal nicht 
lesen kann. Im Errata Sheet finde ich auch keinen Hinweis.

Auf Eure Ideen dazu freue ich mich sehr :-)

von Lukas D. (lukas_d)


Lesenswert?

Hi,

könntest du mal deine Initialisierung anpinnen?

MfG

von GroberKlotz (Gast)


Lesenswert?

Hallo,
schau doch mal im zugehörigen *.INC-File dort stehen die zulässigen 
Config-words zum ein/ausschalten von MCLR, bzw. kann MCLR eventuell auf 
einen anderen Pin gelegt werden.

mfG GroberKlotz

von Jens M. (Gast)


Lesenswert?

Port B Functions: RB4/AN9/C2INA/ECCP1/P1A/CTPLS/KBI0

AN9 Analog aus (Ansel) ?
C2INA Comparator aus?

ECCP1/P1A/CTPLS/KBI0
alle anderen multiplexed Port Funktionen auf "Seiteneffekte" geprüft?

Datenblatt: 11.3 PORTB, TRISB and LATB Registers

von Target (Gast)


Lesenswert?

Jens Martin schrieb:
> AN9 Analog aus (Ansel) ?

Ansel stand fehlerhaft auf "1".

Grund - ich hatte programmiert:

    clrf    ADCON0
    clrf    ANCON0
    clrf    ANCON1

Korrekt ist aber beim PIC18F46K80:

    movlb   H'0F'
    clrf    ADCON0,B        ;B = 1
    clrf    ANCON0,B        ;  "
    clrf    ANCON1,B        ;  "

Vielen Dank für die Hilfe :-))

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.