单片机/MCUwilliam hill官网
直播中

鹏飞

13年用户 76经验值
擅长:控制/MCU
私信 关注
[问答]

avr能用查询中断标志位的方法产生中断吗?

一直在用 51,现在学用AVR,今天写外中断函数,用查询外中断0标志位的方法进入中断,但是没有实现,请问是不是不能用查询的方法执行中断函数呢 ?

回帖(3)

lstcspring

2012-7-13 22:19:46
既然采用了查询方式,为什么还要执行进中断去执行中断服务程序呢,查询到了中断标识位直接执行相应的程序就是了!
举报

鹏飞

2012-7-13 22:34:00
引用: lstcspring 发表于 2012-7-13 22:19
既然采用了查询方式,为什么还要执行进中断去执行中断服务程序呢,查询到了中断标识位直接执行相应的程序就 ...

void main(void)
{
    SREG|=(1<<7);
GICR|=(1<<6);
MCUCR=0X02;
//GIFR|=(1<<6);
   while(1)
    {
        if(INTF0==1)
       {
        DDRA=0XFF;
              PORTA=0XFF;
     }
    }
  


}

像这样行吗 PA端口是 LED
举报

鹏飞

2012-7-15 19:45:36
问题已经解决 用JTGA自己仿真研究了一下,如果要用查询的方法,就不能开总中断,因为开了总中断,GIFR中的中断标志位就会被清零,  查询就等于无用。同时也谢谢斑竹的提醒
举报

更多回帖

发帖
×
20
完善资料,
赚取积分