牛卧堂MCU技术交流
标题:
关于中断处理的问题???
[打印本页]
作者:
fan168968
时间:
2014-4-16 21:11
标题:
关于中断处理的问题???
我写了一段程序{ mm(); //配置中断,当UART0接到8字节数据时产生中断
while(m!=0); //当接到UART1的数据时m=0
}
就是说这个程序在未接到uart1的数据时m一直是1一直执行死循环,当UART0接到8字节数据时,触发中断,执行中断处理函数。这样设置按道理没问题,但是实际运行确有问题:就是假如UART1没接到数据时,就算UART0接到8字节的数据,也不会执行中断处理函数;但是,当UART1周期性的一直有数据接到时,即程序可以跳出死循环时就可以在UART0接到数据时执行中断函数,为什么呢???不是中断条件成立就去执行中断函数吗???为什么不跳出这个死循环就无法中断呢???
作者:
a_ziliu
时间:
2014-4-28 17:55
請把你的程序貼上來
作者:
fan168968
时间:
2014-4-29 09:20
a_ziliu 发表于 2014-4-28 17:55
請把你的程序貼上來
DrvWDT_Close ();
pzuart0();
UART0->FCR.RFITL=2;
DrvUART_EnableInt(UART_PORT0,DRVUART_RDAINT,UART0HANDLE); //设置按键中断子函数
ct_init(); //次调初始化子函数
pzuart1();
UART1->FCR.RFITL=1; //4字节中断
UART1->MCR.LEV_RTS = 0; //485接收模式
while(UART1->ISR.RDA_IF==0); //==0表明接到新数据!空闲状态是1 第一次查询
ct_communication(); /* 次调通信子函数
作者:
sunrise
时间:
2015-11-6 16:47
中断入口函数会不会错了
欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/)
Powered by Discuz! X3.2