今天在用AVR的时候试了一下中断嵌套 感觉很怪 我的两个中断服务程序如下
我在中断程序里面都用了SEI();
用JTAG调试了一下 发现只要TCNT0一溢出 就触发TIMER0的中断 在中断的过程中只要TCNT2一溢出 就触发了TIMER2的中断 这样子级别高的中断打断低的中断是没什么问题啊 但是在TCNT0再次溢出时 还是会触发TIMER0的中断 这就很奇怪了 难道中断级别低的中断可以中断级别高的中断吗 ???
哪位高手指导一下啊 下面就是我用的两个中断程序
//T0溢出中断服务程序
#pragma interrupt_handler timer0_ovf_isr:10
void timer0_ovf_isr(void)
{
TCNT0 = 0xB4;
SEI();
dlygd(0,0);
dlygd(0,0);
}
//T2溢出中断服务程序
#pragma interrupt_handler timer2_ovf_isr:5
void timer2_ovf_isr(void)
{
TCNT2 = 0xA0;
SEI();
saomiao();
}
假如一开始开的是INT0的中断 那么INT0的中断可以一直进 只要不改变中断使能
用户377235 2013-8-27 16:25
我现在也遇到了这个问题
用户1623314 2010-5-15 20:33
用户1623314 2010-5-4 22:10
用户1623314 2010-5-4 16:14
用户1623314 2010-4-29 15:29
用户1623314 2010-4-27 15:53
用户1623314 2010-4-27 15:50
用户1623314 2010-4-26 22:26
用户1623314 2010-4-26 22:24
用户1623314 2010-4-26 22:23