问个关于中断嵌套的问题
51单片机吧
全部回复
仅看楼主
level 6
有两个中断,串口和定时器,串口高优先级,当10ms定时器中断来时在定时器中断服务中打开串口中断允许,
然后while(!flag);。。。。。等等。。
flag 在串口中断中有flag=1;。。。。//外部设备会一直向单片机发串口数据的。
但是发现程序会卡在while(!flag); 串口中断不执行。。。
为什么?不是说可以嵌套的吗?
2016年11月09日 02点11分 1
level 6
竟然没人
2016年11月11日 02点11分 3
level 5
应该先执行定时器中断吧,执行完,再将flag置1
2016年11月11日 02点11分 4
不是说不同级的中断高优先级能打断低优先级的吗,我定时器中断执行时如果有串口中断回打断定时器中断去执行串口中断。难不成51的中断嵌套不是这样?
2016年11月12日 14点11分
@怕端午的粽子 定时器中断的级别比串口中断级别高。51有5个中断源,串口中断号是4,级别最低。
2016年11月12日 18点11分
1