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);}
                }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
ihsk12
1楼-- · 2020-02-10 12:40
各位指点一下小弟  感激不尽!
millwood0
2楼-- · 2020-02-10 16:52
think about what will happen so you end up in that branch of the "if" statement and what you have to do to get out of it.
smallworm
3楼-- · 2020-02-10 21:21
PORTC&=~(1<<5)之后 程序不就退出了吗 另外可以观察堆栈 看返回地址
kingsabbit
4楼-- · 2020-02-10 23:57
是不是你的定时太快了又进入中断了,在仿真的时候
ihsk12
5楼-- · 2020-02-11 00:45
 精彩回答 2  元偷偷看……
ihsk12
6楼-- · 2020-02-11 06:30
GIE=1 之后  FOR 语句都没有进去

一周热门 更多>