牛卧堂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