我写了一个简单的程序,用PTA0的中断控制LED灯的闪烁,可是一旦中断第一次触发后,不管PTA0管脚的电压如何,终端服务程序始终能执行,灯不停的闪,请教一下各位,万分感谢!
void GPIO_Init(void)
{
PTADD_PTADD0 = 0;
PTBDD_PTBDD3 = 1; /* PTB3 is output to LED2 */
}
void PGint(void){
PTASC_PTAACK=0; //屏蔽中断
PTAPE_PTAPE0=1; //使能上拉器件
PTAES_PTAES0=0; //上啦器件接入,低电平触发
PTASC_PTAMOD=0;//边沿触发
PTAPS_PTAPS0=1; //使能A0的中断
PTASC_PTAACK=0; //清除中断
PTASC_PTAIE=1; //使能A口中断
}
void main(void) {
MCG_Init(); /* Clock Generator initialization */
GPIO_Init(); /* GPIO configuration */
PGint(); //中断初始化
PTBD_PTBD3=1; //关LED
EnableInterrupts; /* enable interrupts */
for(;;) {
}
void interrupt 22 PTA_ISR(void)
{
PTAPS_PTAPS0=0; //使能A0的中断
PTASC_PTAACK=0; //清除中断
PTBD_PTBD3=!PTBD_PTBD3;
PTAPS_PTAPS0=1; //使能A0的中断
} |