AVR16中断求助

2019-07-16 01:31发布

#pragma interrupt_handler z1:2
z1()
{
    PORTA=0x0f;
        delay(500);
        PORTA=0xf0;
        delay(500);
}

外中断0,下降沿触发,本意是进入中断前四个led亮,然后后四个led亮,然后返回,结果前四个led亮,然后后四个led亮, 再次前四个led亮,然后后四个led亮

咋回事
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
电子狂飙
2019-07-16 02:56
可能是你按键产生的下降沿,你试试进入INT0中断后把INT0中断允许位关闭,中断处理程序结束后再打开中断允许位。

#pragma interrupt_handler z1:2
z1()
{
        GICR & = ~(1<<6);
        PORTA=0x0f;
        delay(500);
        PORTA=0xf0;
        delay(500);
        GICR |= (1<<6);
}

你试试

一周热门 更多>