Forum: Mikrocontroller und Digitale Elektronik PIC 18F14K22 Input POrt A 3:0 funktioniert nicht.


von Andy -. (Gast)


Lesenswert?

Hallo
Ich benutze einen PIC18F14K22 und kann die Eingänge 3:0 nicht einlesen.

Habe folgenden code:
Config FOSC = IRC ;Interner Oscilator

Init:
MOVLW  0xFF
MOVWF   TRISA    ;Alles Inputs
MOVLW  0x0
MOVWF  WPUA  ;Pullup Inputs

LOOP1:
MOVF  PORTA,W  ;Anzeige
GOTO  LOOP1

Kann mir jemand helfen?
Andy

von Sebastian H. (sebihepp)


Lesenswert?

Deaktiviere mal den ADC.
Hast du #MCLR auch deaktiviert und auf InputPort gestellt?
In deiner Schleife schreibst du den Wert von PortA in W. Woran erkennst 
du, ob du die richtigen Werte ließt?

Gruß
Sebihepp

von Andy -. (Gast)


Lesenswert?

Salü
Das ganze ist ja mit PULLUP intern definiert.
BCF INTCON2,RABPU    ;Enable Pullups
BSF WPUA, WPUA0    ;Pullup Inputs
BSF WPUA, WPUA2    ;Input sind H
BSF WPUA, WPUA5    ;Durch schalter werden diese L gesetzt

MLCR habe ich richtig, da ich RA3 nicht benötige.
RA5 funtioniert, doch RA0:2 zeigt immer 0 trotz PULL UP
Habe mal als Test Port B mit TRISB auf 0xFF gestezt.
Gleiches Probleb, BIT 5:4 ist high, BIT7:6 ist low

Bei allen PICs die ICH habe das gleiche.
Ich verstehe das nicht zumal in Data Sheet auch keine
Hinweise gefunden habe. ADC ist ja deaktiviert.

Es scheint dass da irgend etwas noch blockiert.

von Andy -. (Gast)


Lesenswert?

Ich sehe das W Register im Debugger.
Darum habe ich ja auch nr die Ports 5,2 und 0 genommen, da diese nciht 
vom Debugger benützt werden.

Oder meinst Du es könnte daran leigen?
Aber wieso gehen dann die Ports von B auch nicht?
Wenn doch der PullUp intern aktiviert ist, so sollte doch H eingelesen 
werden auch wenn am Chip nichts angeschlossen ist, oder sehe ich das 
falsch?

von Andy -. (Gast)


Lesenswert?

Korrektur vom Code:
Init:
MOVLW  0xFF
MOVWF  TRISA            ;Alles Inputs
BCF    INTCON2,RABPU    ;Enable Pullups
MOVLW  0xFF
MOVWF  WPUA             ;Pullup Inputs

LOOP1:
MOVF  PORTA,W           ;Anzeige WREGISTER
GOTO  LOOP1

von Andy -. (Gast)


Lesenswert?

HI Sebihepp
Danke für den Tip.
ANSEL und ANSELH waren die übeltäter!

Gruss und schöne Pfingsten.
Andy

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.