zd305 发表于 2008-12-8 16:39:39

进不了中断,大家帮我看一下,问题出在那里【恢复】

程序如下:



#include <avr/io.h>

#include <avr/interrupt.h>



unsigned int i=1;



ISR (INT1_vect)

{

        SREG |= (1 << SREG_I);

        i++;



}

void mode(void)

{

 switch(i)

 {

  case 1:PORTA=0x01;break;

  case 2:PORTA=0x02;break;

  case 3:PORTA=0x04;break;



  default:break;

 }

}

int main()

{

 PORTD = 0xFF; 

 DDRD  = 0x00; 



DDRA = 0XFF;

PORTA = 0X00;

MCUCR = 0X00;

GICR  = 0x80;  

TIMSK = 0x00; 

SREG |= (1 << SREG_I);

while (1)



{



  if (i==4)

  {

          i=1;

   }



  mode();

}





}



本贴被 zd305 编辑过,最后修改时间:2008-12-08,16:40:01.

NE5532 发表于 2008-12-31 21:53:19

如何判断能不能进中断的?这种问题建议到Studio里去仿真来看,见http://ne5532.21ic.org 《脱离仿真器玩单片机》

ba_wang_mao 发表于 2008-12-9 15:16:33

1、当前中断使能了吗?

2、全局中断使能了吗?
页: [1]
查看完整版本: 进不了中断,大家帮我看一下,问题出在那里【恢复】