|
发表于 2010-5-12 15:49:52
|
显示全部楼层
看看Microchip官方的程序就知道错在哪里了。
呵呵,中断没打开。
void CN_init(void)
{
/* RD6/CN15 is S3 */
TRISDbits.TRISD6 = 1; // make the port as input
CNEN1bits.CN15IE = 1; // enable interrupt
CNPU1bits.CN15PUE = 0; // disable pull-up resistor
IFS1bits.CNIF = 0; // clear IF
IPC4bits.CNIP = 7; // set IP as 7
IEC1bits.CNIE = 1; // enable CN
}
void __attribute__((interrupt, no_auto_psv)) _CNInterrupt(void)
{
__builtin_btg((unsigned int *)&LATA, 1); // toggle the LED
IFS1bits.CNIF = 0; // clear IF
_temp16 = PORTD; // read for next interrupt
} |
|