23 bool startup(Io_register_block
const *)
override;
27 int get_char(
bool blocking =
true)
const override;
30 void wait_tx_done()
const;
31 inline void out_char(
char c)
const;
32 int write(
char const *s,
unsigned long count,
33 bool blocking =
true)
const override;
36 void set_rate(Baud_rate r);
Driver for the Advanced Peripheral Bus (APB) UART from the Cortex-M System Design Kit (apb).
bool enable_rx_irq(bool enable) override
Enable the receive IRQ.
bool startup(Io_register_block const *) override
Start the UART driver.
int get_char(bool blocking=true) const override
Read a character from the UART.
Uart_apb(unsigned freq)
freq == 0 means unknown and don't change baud rate
int char_avail() const override
Check if there is at least one character available for reading from the UART.
int write(char const *s, unsigned long count, bool blocking=true) const override
Transmit a number of characters.
bool change_mode(Transfer_mode m, Baud_rate r) override
Set certain parameters of the UART.
void shutdown() override
Terminate the UART driver.
L4 low-level kernel interface.