/* * Function purpose: * Require character data from UART */ int serial_getc(void) { #ifdef CONFIG_USB_TTY int tmp=0; char c; while (1) { if(pUart_Reg->URUSR & URUSR_RXDRDY) { tmp++; break; } if(c = usbtty_getc()) break; } return tmp?(pUart_Reg->URRDR&0xff):c; #else while (!(pUart_Reg->URUSR & URUSR_RXDRDY)); return pUart_Reg->URRDR&0xff; #endif }
int quad_getc_dev (unsigned long base) { if (zoom2_debug_board_connected ()) return NS16550_getc ((NS16550_t) base); return usbtty_getc(); }
/* * Function purpose: * return RXDRDY status bit in Uart status register */ int serial_tstc(void) { #ifdef CONFIG_USB_TTY return (((pUart_Reg->URUSR & URUSR_RXDRDY)||usbtty_getc()) ? 1 : 0); #else return ((pUart_Reg->URUSR & URUSR_RXDRDY) ? 1 : 0); #endif }