dsPIC中断向量的默写名称在每个器件的默认连接文件中已指定,可以到编译器安装目录中support\dsPIC30F\gld 目录下找到对应器件的gld文件,打开并查找名称
以DSPIC4011为例,写一个adc中断函数,找到p30f4011.gld文件并打开找到如下内容
LONG( DEFINED(__AltADCInterrupt) ? ABSOLUTE(__AltADCInterrupt) :
(DEFINED(__ADCInterrupt) ? ABSOLUTE(__ADCInterrupt) :
ABSOLUTE(__DefaultInterrupt)));
于是adc的中断函数可写成:
void __attribute__((interrupt, no_auto_psv)) _ADCInterrupt(void)
如果在中断中没有用到PSVPAG那么就用no_auto_psv以便让中断延迟最小,如果用到了就需要选择auto_psv,以便让中断程序退出时自动恢复相关寄存器内容。
|
|