pic16f676 TIMER0中断不返回 请求帮助!!

2020-02-10 08:35发布

程序跑到  PORTC&=~(1<<5)  语句之后没反映了????  PICC18编译器   谢谢名位啦!
不是自动返回的吗?

void interrupt isr (void)
{        if(T0IF)
                {
                        T0IF=0;
                Flag++;
                TMR0=0;
                if(Flag>10)
                        {PORTC&=~(1<<4);
                        PORTC|=(1<<5);}                       
                else
                        {PORTC|=(1<<4);
                        PORTC&=~(1<<5);}
                }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
su_mj000
2020-02-11 10:20
把那2句 asm("RETFIE"); 去掉。
那2句 asm("nop"); 也没有什么意义。

注意,能不用汇编就尽量别用。

“for(i=5;i>=0;i--)” 不太漂亮。可改为:

"for (i = 6; i; i--)" 或 "for (i = 6; i--;)"

int i; 可改为:unsigned char i; 无符号变量运算经常会快一些.

一周热门 更多>