周立功开发板中间件之串口驱动中,串口接收、发送部分中有一个过程:<br /> uint8 UART0Getch(void)<br />{<br /> uint8 err;<br /><br /> OS_ENTER_CRITICAL(); /*关中断*/<br /> if ((U0LSR & 0x00000001) == 0)<br /> { /* 没有收到数据 */<br /> U0IER = U0IER | 0x01; /* 允许接收中断 */<br /> OSSemPend(Uart0Sem, 0, &err); /* 等待接收数据 */<br /> }<br /> err = U0RBR; /* 读取收到的数据 */<br /> OS_EXIT_CRITICAL(); /*开中断<br /> return err;<br />} <br /><br />过程中开始关IRQ中断OS_ENTER_CRITICAL();然后等待中断返加的信号量UartSem,我不解的是IRQ关中断后怎么还可以接收到串口中断信号?哪位大侠给指点一下,谢谢了。<br /><br /><br /> |
|