标题:
【求助】关于DZ60中断问题
[打印本页]
作者:
kingeast16
时间:
2009-12-8 16:39
标题:
【求助】关于DZ60中断问题
我写了一个简单的程序,用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的中断
}
作者:
ffery
时间:
2009-12-28 10:39
你的这段程序能实现LED闪烁吗,我没有看出来那里有闪烁的条件?
PTBD_PTBD3=!PTBD_PTBD3;是这一句吗?
如果是这一句,就是闪烁你用肉眼也是看不到的。我觉的这段程序的整体框架不能实现你所想的LED的闪烁功能。另外
PTASC_PTAACK=0; //清除中断
据我对DZ60的了解,我认为 这一句是没有意义的。PTASC_PTAACK的一个重要功能是清除中断标记PTASC_PTAIF的,应当是PTASC_PTAACK=1; 这样写才对。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0