uart: upgrade C api

This commit is contained in:
Paul Mathieu
2021-03-13 15:49:28 -08:00
parent 5d5eeb45cc
commit 75b5488b8d
4 changed files with 27 additions and 20 deletions

View File

@@ -1,23 +1,23 @@
#include "uart.h"
int uart_rx_available() {
return (*UART_STATUS & UART_STATUS_RXNE_msk) != 0;
int uart_rx_available(struct uart* uart) {
return uart->flags & UART_STATUS_RXNE_msk != 0;
}
int uart_tx_available() {
return (*UART_STATUS & UART_STATUS_TXE_msk) != 0;
int uart_tx_available(struct uart* uart) {
return uart->flags & UART_STATUS_TXE_msk != 0;
}
void uart_write(const char c) {
while (!uart_tx_available()) {
void uart_write(struct uart* uart, const char c) {
while (!uart_tx_available(uart)) {
}
*UART_DATA = c;
uart->data = c;
}
char uart_read() {
while (!uart_rx_available()) {
char uart_read(struct uart* uart) {
while (!uart_rx_available(uart)) {
}
return *UART_DATA;
return uart->data;
}