Jag kör Asm i MPLAB på en PIC16F690 och försöker få igång ett interrupt från en knapp med pull-up motstånd.
Knappen är kopplad till RB4(pin 13).
Efter att bara fått knas när jag skickar programmet till PICen försöker jag med stimulus i MPLAB.
Init koden för interruptet:
Kod: Markera allt
banksel trisc
clrf trisa
clrf trisc
movlw b'01110000'
movwf TRISB
movlw b'10001000' ;Sätt GIE och RABIE
movwf INTCON
banksel IOCB ;Interrupt on change
movlw b'00010000' ;sätt för RB4
movwf IOCB
banksel option_reg
bsf OPTION_REG, INTEDG ; interupt on positive
När jag simulerar en ändring på RB4 hoppar programmet till följande interrupt rutin:
Kod: Markera allt
INT_VECTOR CODE 0x004 ; interrupt vector location
nop
nop
clrf intcon ;Låt oss kalla denna A
; bcf INTCON, 0 ;Låt oss kalla denna B
nop
nop
retfie
Gör jag som på sätt B så kommer man inte ur interrupt-rutinen alls.
Det verkar inte som INTCON vill ta emot förändringar i interrupt-rutinen.(förutom när man kör clrf)
Har letat och läst i databladet för 16F690, men inte hittat något som kan lösa problemet.
Det är säkert något enkelt som jag har missat...