ZhangFei1990//. 发表于 2015-8-25 21:08:12

MAGE8 AVR按键程序为什么没有执行??

void main(void)
{      
    Init();
    while (1);
      {   
         if(timer_10ms_ok)
         {   
            timer_10ms_ok=0;
            key_control(read_key()); //按键程序                                                         
         }         
      }
                  
}

int j,k;
interrupt void time1_ovf_isr(void) //定时器1溢出中断   
{                                                         
    TCNT1=65411;          //计数初值
    if(++j>=10)
    {         
         j=0;
         timer_10ms_ok=1;//10ms到
         if(++k>=5)
         {   
            k=0;
            timer_50ms_ok=1;//1s到         
         }   
    }
}

粗人 发表于 2015-8-25 22:17:25

interrupt void time1_ovf_isr(void) //定时器1溢出中断   
{
TCNT1=65411;          //计数初值
if((j+10)%10==0)timer_10ms_ok=1;
if(j<50)
{
    j++;
}
else
{
    j=0;
    timer_50ms_ok=1;
}
}

alias 发表于 2015-8-25 23:41:21

在中断进程中会被修改的变量要使用 volatile 描述:

volatile int j,K;

lcw_swust 发表于 2015-8-26 09:01:24

while (1)后面的分号要去掉

ZhangFei1990//. 发表于 2015-8-26 20:39:30

alias 发表于 2015-8-25 23:41
在中断进程中会被修改的变量要使用 volatile 描述:

volatile int j,K;

谢谢,已解决!!
页: [1]
查看完整版本: MAGE8 AVR按键程序为什么没有执行??