Ik wilde eens met een zwaardere PIC aan de gang en heb een dsPIC33FJ256GP504 aangeschaft.
De PIC draait inmiddels wel, maar ik krijg geen (Timer3) interrupt aan de gang.
In de simulator draait Timer3 en de overflow-vlag wordt netjes geset (IFS0,#T3IF) wanneer de timer overloopt.
Echter i.p.v. naar de interrupt te springen springt hij naar de reset-vector 
Wat doe ik fout?
Instellingen die van belang kunnen zijn:
.text ;Start of Code section
.ORG 0x000024
goto __T3Interrupt
__reset:
goto _startup
.ORG 0x000200
_startup:
; First initialize the stack pointer and the Stack pointer limit
MOV #__SP_init, W15 ;Initalize the Stack Pointer
MOV #__SPLIM_init, W0 ;Initialize the Stack Pointer Limit Register
MOV W0, SPLIM
NOP ;Add NOP to follow SPLIM initialization
bclr IFS0,#T3IF ; clear the interruptflag
bset IEC0,#T3IE ; interrupt for timer3 on
bclr IPC2,#T3IP0 ; interrupt priority level
bclr IPC2,#T3IP1 ; for timer 3
bset IPC2,#T3IP2 ; level4
bset T3CON,#TON ; timer3 on
clr INTCON2
bset INTCON1,#NSTDIS ; no nested interrupts
Fout inmiddels gevonden:
De interrupt moet "global" gedeclareerd worden, ook al gebruik je maar 1 sourcefile 
Dus dit moet er bij gezet:
.global __T3Interrupt ;Declare Timer 3 ISR name global
En dit moet eruit, daar klopt geen hout van.:
.ORG 0x000024
goto __T3Interrupt
De label "__T3Interrupt" staat namelijk al in het linkerscript en staat in de vectortabel vast op plaats 0x000024.
Weer wat geleerd 