新闻  |   论坛  |   博客  |   在线研讨会
关于AVR中断的疑问
0750long | 2010-05-03 21:14:39    阅读:1563   发布文章

关于AVR中断的疑问

 

 

今天在用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();
}

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客