Change API for getch to make it the caller's responsibility to poll for

input, allowing it to do other stuff if it wants to.
This commit is contained in:
2011-06-04 19:28:59 +00:00
parent 9f79b3d82e
commit fa84a1b8bb
3 changed files with 10 additions and 12 deletions

15
uart.c
View File

@@ -4,8 +4,6 @@
#define UARTBASE 0xE000C000
#define FP0XVAL (*((volatile unsigned int *) 0x3FFFC014))
#define RBR 0x00
#define THR 0x00
#define DLL 0x00
@@ -172,14 +170,11 @@ void puthex(unsigned int n) {
putstr(s+i);
}
char getch(void) {
char c;
bool getch(char *c) {
if (uart_rxread == uart_rxwrite)
return FALSE;
while (uart_rxread == uart_rxwrite) {
FP0XVAL ^= 0x04000000;
}
c = uart_rxbuf[uart_rxread];
*c = uart_rxbuf[uart_rxread];
uart_rxread = (uart_rxread + 1) % UART_RXBUFSIZE;
return c;
return TRUE;
}