51单片机中断嵌套的问题 30
用一个单片机的两个时钟T0和T1,用这两个时钟的定时中断编写了一段中断嵌套程序。T1先中断,在中断期间T0又发生中断(这应该没问题吧,T0中断的优先级是大于T1的),返回...
用一个单片机的两个时钟T0和T1,用这两个时钟的定时中断编写了一段中断嵌套程序。
T1先中断,在中断期间T0又发生中断(这应该没问题吧,T0中断的优先级是大于T1的),返回中断的时候问题来了,首先T0返回中断,那就会返回到“LJMP $(T0等待中断)”这条无限循环上来,程序就锁死了,有什么办法可以解决么?
感谢kuxuanxinzai的回答
如果说T0的返回中断会返回到T1,那么T0的中断如何返回?我编写的程序需要完成的功能是T0和T1两个中断嵌套并循环,所以T0返回中断的同时也要T1开始计时并等待中断。
关于你的第二点,如果不用LJMP $,RETI命令返回后会返回到哪里呢? 展开
T1先中断,在中断期间T0又发生中断(这应该没问题吧,T0中断的优先级是大于T1的),返回中断的时候问题来了,首先T0返回中断,那就会返回到“LJMP $(T0等待中断)”这条无限循环上来,程序就锁死了,有什么办法可以解决么?
感谢kuxuanxinzai的回答
如果说T0的返回中断会返回到T1,那么T0的中断如何返回?我编写的程序需要完成的功能是T0和T1两个中断嵌套并循环,所以T0返回中断的同时也要T1开始计时并等待中断。
关于你的第二点,如果不用LJMP $,RETI命令返回后会返回到哪里呢? 展开
2个回答
展开全部
1.T0返回中断,会返回到T1(TO中断前如果T1没执行完的话)!
2.如果你的程序最后一行是LJMP $的话,就算返回到这里也没有问题,中断只要开启了照常可以相应!JLMP $的意义通常就是等待中断的产生!如果你不想中断后一直等待,那就不用这条指令不就行了!
记得加分!
2.如果你的程序最后一行是LJMP $的话,就算返回到这里也没有问题,中断只要开启了照常可以相应!JLMP $的意义通常就是等待中断的产生!如果你不想中断后一直等待,那就不用这条指令不就行了!
记得加分!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询