我写了一段程序{ mm(); //配置中断,当UART0接到8字节数据时产生中断
while(m!=0); //当接到UART1的数据时m=0
}
就是说这个程序在未接到uart1的数据时m一直是1一直执行死循环,当UART0接到8字节数据时,触发中断,执行中断处理函数。这样设置按道理没问题,但是实际运行确有问题:就是假如UART1没接到数据时,就算UART0接到8字节的数据,也不会执行中断处理函数;但是,当UART1周期性的一直有数据接到时,即程序可以跳出死循环时就可以在UART0接到数据时执行中断函数,为什么呢???不是中断条件成立就去执行中断函数吗???为什么不跳出这个死循环就无法中断呢??? |