46 lines
851 B
C
46 lines
851 B
C
#include "board_init.h"
|
|
#include "hal_uart.h"
|
|
|
|
int _write(int fd, char *ptr, int len) {
|
|
int i = 0;
|
|
|
|
if (fd > 2) {
|
|
return -1;
|
|
}
|
|
|
|
while (*ptr && (i < len)) {
|
|
while (0u == (UART_STATUS_TX_EMPTY & UART_GetStatus(BOARD_DEBUG_UART_PORT))) {
|
|
}
|
|
UART_PutData(BOARD_DEBUG_UART_PORT, (uint8_t)(*ptr));
|
|
i++;
|
|
ptr++;
|
|
}
|
|
|
|
return i;
|
|
}
|
|
|
|
int _read(int fd, char *ptr, int len) {
|
|
int my_len;
|
|
|
|
if (fd > 2) {
|
|
return -1;
|
|
}
|
|
|
|
my_len = 0;
|
|
while (len > 0) {
|
|
while (0u == (UART_STATUS_RX_DONE & UART_GetStatus(BOARD_DEBUG_UART_PORT))) {
|
|
}
|
|
*ptr = UART_GetData(BOARD_DEBUG_UART_PORT);
|
|
len--;
|
|
my_len++;
|
|
|
|
if ((*ptr == '\r') || (*ptr == '\n') || (*ptr == '\0')) {
|
|
break;
|
|
}
|
|
|
|
ptr++;
|
|
}
|
|
|
|
return my_len;
|
|
}
|