电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

关于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();
}

 

假如一开始开的是INT0的中断  那么INT0的中断可以一直进  只要不改变中断使能

博主
810980411@qq.com
HXHNTTXLLA's Blog
梦想从这里起飞--AVR/ NIOS II  / FPAG / 51。。。这些文章都是我整理出来的 有什么错误请大家帮忙指正。。。
点击跳转