Probleme beim externen Interrupt am PIC18F14K50

OP #5984919
Lesenswert?

Servus zusammen,

ich programmiere gerade an einem PIC18F14K50 und versuche dort externe 
Interrupts zu realisieren.
Allerdings kommt dieser nicht durch. Ich habe schon andere Interrupts am 
Laufen - diese kommen durch. Am grundsätzlichen Aufbau der Software kann 
es also nicht liegen.
Ich habe es sowohl mit INT0 als auch INT1 versucht und auch schon den 
PIC getauscht. Einen Defekt am PIC halte ich also eher für 
unwahrscheinlich.
Ich habe die PINs mit 10 kOhm gegen Masse geschalten - ich will einen 
Interrupt bei einer Flanke von 0 auf 1.
So sieht die Initialisierung bei mir aus:

    INTCONbits.GIE = 1;       // interrupts on
    INTCONbits.PEIE = 1;      // low priority interrupts on

    TRISCbits.TRISC0 = 1;     // INT0 pin as input
    INTCON2bits.INTEDG0 = 1;  // INT0 interrupt on rising edge
    INTCONbits.INT0IF = 0;    // reset INT0 interrupt flag
    INTCONbits.INT0IE = 1;    // INT0 interrupt on for wake-up

    TRISCbits.TRISC1 = 1;     // INT1 pin as input
    INTCON2bits.INTEDG1 = 1;  // INT1 interrupt on rising edge
    INTCON3bits.INT1IP = 1;   // INT1 high priority
    INTCON3bits.INT1IF = 0;   // reset INT1 interrupt flag
    INTCON3bits.INT1IE = 1;   // INT1 interrupt on for wake-up

Irgendjemand eine Idee, was hier schief läuft?
Danke euch schon mal :-)
OP #5985367
Lesenswert?

Ok, irgendwie stehe ich immer noch auf dem Schlauch, auch wenn der 
Interrupt jetzt funktioniert.
Aber ich scheitere daran ein ganze normalen Port als Ausgang zu 
benutzen.
Für mich zum Verständnis am Beispiel Port C.

ANSEL = 0;     (sollte als Augang aber eh keine Rolle spielen)
ANSELH = 0;

TRISC = 0;

LATCbits.LATC3 = 1;  (zeigt keine Wirkung)

Beim Port B funktioniert das aber bei RB6 und 7. Diese haben keine 
Analog-Funktion - daher vermute ich, da es was damit zu tun hat. Aber 
was?
Wäre super, wenn mir da jemand helfen kann. Danke euch schon mal :-)

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