initial commit
This commit is contained in:
25
port/moonlight/uart.h
Normal file
25
port/moonlight/uart.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef _DEVICES_UART_H
|
||||
#define _DEVICES_UART_H
|
||||
#include "gen/uart.h"
|
||||
#include <stdint.h>
|
||||
|
||||
static inline uint32_t uart_get_tx_free(volatile uart_t* reg) { return get_uart_rx_tx_reg_tx_free(reg); }
|
||||
|
||||
static inline uint32_t uart_get_tx_empty(volatile uart_t* reg) { return get_uart_rx_tx_reg_tx_empty(reg); }
|
||||
|
||||
static inline uint32_t uart_get_rx_avail(volatile uart_t* reg) { return get_uart_rx_tx_reg_rx_avail(reg); }
|
||||
|
||||
static inline void uart_write(volatile uart_t* reg, uint8_t data) {
|
||||
while(get_uart_rx_tx_reg_tx_free(reg) == 0)
|
||||
;
|
||||
set_uart_rx_tx_reg_data(reg, data);
|
||||
}
|
||||
|
||||
static inline uint8_t uart_read(volatile uart_t* reg) {
|
||||
uint32_t res = get_uart_rx_tx_reg_data(reg);
|
||||
while((res & 0x10000) == 0)
|
||||
res = get_uart_rx_tx_reg_data(reg);
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif /* _DEVICES_UART_H */
|
||||
Reference in New Issue
Block a user