7#ifndef _HARDWARE_UART_H
8#define _HARDWARE_UART_H
12#ifndef PARAM_ASSERTIONS_ENABLED_UART
13#define PARAM_ASSERTIONS_ENABLED_UART 0
20typedef struct uart_inst uart_inst_t;
22extern uart_inst_t *
const uart0;
23extern uart_inst_t *
const uart1;
24#define uart_default uart0
37uint
uart_init(uart_inst_t *uart, uint baudrate);
51void uart_set_format(uart_inst_t *uart, uint data_bits, uint stop_bits, uart_parity_t parity);
78void uart_puts(uart_inst_t *uart,
const char *s);
static void uart_putc(uart_inst_t *uart, char c)
Write single character to UART for transmission, with optional CR/LF conversions.
Definition: uart.h:347
static void uart_set_format(uart_inst_t *uart, uint data_bits, uint stop_bits, uart_parity_t parity)
Set UART data format.
Definition: uart.h:187
static bool uart_is_readable(uart_inst_t *uart)
Determine whether data is waiting in the RX FIFO.
Definition: uart.h:285
#define uart0
The UART identifiers for use in UART functions.
Definition: uart.h:81
static void uart_set_hw_flow(uart_inst_t *uart, bool cts, bool rts)
Set UART flow control CTS/RTS.
Definition: uart.h:171
static void uart_set_break(uart_inst_t *uart, bool en)
Assert a break condition on the UART transmission.
Definition: uart.h:401
uint uart_init(uart_inst_t *uart, uint baudrate)
Initialise a UART.
Definition: uart.c:75
static char uart_getc(uart_inst_t *uart)
Read a single character to UART.
Definition: uart.h:389
uart_parity_t
UART Parity enumeration.
Definition: uart.h:119
void uart_deinit(uart_inst_t *uart)
DeInitialise a UART.
Definition: uart.c:67
static void uart_set_irq_enables(uart_inst_t *uart, bool rx_has_data, bool tx_needs_data)
Setup UART interrupts.
Definition: uart.h:212
static void uart_puts(uart_inst_t *uart, const char *s)
Write string to UART for transmission, doing any CR/LF conversions.
Definition: uart.h:364
static bool uart_is_writable(uart_inst_t *uart)
Determine if space is available in the TX FIFO.
Definition: uart.h:264
static void uart_default_tx_wait_blocking(void)
Wait for the default UART's TX FIFO to be drained.
Definition: uart.h:419
uint uart_set_baudrate(uart_inst_t *uart, uint baudrate)
Set UART baud rate.
Definition: uart.c:73
#define uart1
Identifier for UART instance 1.
Definition: uart.h:82
static void uart_write_blocking(uart_inst_t *uart, const uint8_t *src, size_t len)
Write to the UART for transmission.
Definition: uart.h:299
static void uart_read_blocking(uart_inst_t *uart, uint8_t *dst, size_t len)
Read from the UART.
Definition: uart.h:316