本帖最后由 辉天王 于 2016-5-28 16:51 编辑
RT,我的CN中断里使用的IO口会在程序中被莫名的拉低,很奇怪,进一步测试发现里面的其他变量也会被复位为0
void __attribute__((__interrupt__, no_auto_psv)) _CNInterrupt(void)
{
PORTBbits.RB9 = 1;//! PORTBbits.RB9;
if(Flag_Wave == 1)
{
LATBbits.LATB13 = (PORTCbits.RC0 && (PORTAbits.RA4 || PORTAbits.RA2) && (! PORTAbits.RA8) && Flag_Start) ;
LATBbits.LATB12 = (PORTBbits.RB4 && Flag_Start);//PWM2******RB12(PWM2)=RB4(MC4)&&(flag_Start)
}
IFS1bits.CNIF = 0; // Clear CN interrupt
}
运行过程认为进入一次中断,但运行几分钟以后CN中断里的所有变量和IO口都被拉低或者复位为0,求大神解答
中断服务程序如上
|