Correct prototype for sdk_uart_rx_one_char, kudos to @foogod

This commit is contained in:
Johan Kanflo 2015-08-06 21:00:24 +02:00
parent 0e521a74a9
commit 64a1e5598b
2 changed files with 9 additions and 4 deletions

View file

@ -48,9 +48,13 @@ long _write_r(struct _reent *r, int fd, const char *ptr, int len )
*/ */
long _read_r( struct _reent *r, int fd, char *ptr, int len ) long _read_r( struct _reent *r, int fd, char *ptr, int len )
{ {
for(int i = 0; i < len; i++) for(int i = 0; i < len; i++) {
ptr[i] = sdk_uart_rx_one_char(); char ch;
return len; while (sdk_uart_rx_one_char(&ch)) ;
ptr[i] = ch;
}
return len;
} }
/* These are stub implementations for the reentrant syscalls that /* These are stub implementations for the reentrant syscalls that

View file

@ -30,8 +30,9 @@ struct ip_addr;
void sdk_uart_div_modify(uint32_t uart_no, uint32_t new_divisor); void sdk_uart_div_modify(uint32_t uart_no, uint32_t new_divisor);
/* Read a single character from the UART. /* Read a single character from the UART.
Returns 0 on success, 1 if no character in fifo
*/ */
char sdk_uart_rx_one_char(void); int sdk_uart_rx_one_char(char *buf);
/* Write a single character to the UART. /* Write a single character to the UART.
*/ */