UART¶
A universal asynchronous receiver-transmitter (UART) is a peripheral device for asynchronous serial communication.
MiraOS currently only supports using one UART.
Defines¶
MIRA_IODEF_UART0¶
#define MIRA_IODEF_UART0
MIRA_IODEF_UART1¶
#define MIRA_IODEF_UART1
MIRA_IODEF_UART2¶
#define MIRA_IODEF_UART2
MIRA_IODEF_UART¶
#define MIRA_IODEF_UART(_ID)
Types¶
mira_uart_input_callback_t¶
typedef int(* mira_uart_input_callback_t) (uint8_t c, void *storage);
Enums¶
mira_uart_parity_t¶
Name | Description |
---|---|
MIRA_UART_PARITY_NONE |
|
MIRA_UART_PARITY_EVEN |
|
MIRA_UART_PARITY_ODD |
Structs¶
mira_uart_config_t¶
Name | Type | Description |
---|---|---|
baudrate |
int32_t |
|
tx_pin |
mira_gpio_pin_t |
Pin to use as TXD |
rx_pin |
mira_gpio_pin_t |
Pin to use as RXD |
parity |
mira_uart_parity_t |
Please note: Parity is not yet supported |
Functions¶
mira_uart_init¶
mira_status_t mira_uart_init(uint8_t uart_id, const mira_uart_config_t *config);
Initialize a UART module.
The custom config is passed as a parameter (NULL for platform default).
Note
this might start a higher resolution clock in the CPU, which can significantly increase the power consumption until CPU is restarted. Only UART 0 is supported.
Parameters
Name | Description |
---|---|
uart_id | The index of the UART peripheral. |
config | Pointer to a configuration to setup. |
Return value
Name | Description |
---|---|
MIRA_SUCCESS | UART was successfully initialized. |
MIRA_UART_ERROR_INIT | UART could not initialize. |
MIRA_ERROR_NOT_SUPPORTED | Invalid UART id. |
mira_uart_set_input_callback¶
mira_status_t mira_uart_set_input_callback(uint8_t uart_id, mira_uart_input_callback_t cb, void *storage);
Set a callback to be called on uart byte input.
Parameters
Name | Description |
---|---|
uart_id | The index of the UART peripheral. |
cb | The callback to call. |
storage | Storage pointer which is used to store optional information to be used by the callback function. E.g. it could be used as an identifier or to pass on a configuration struct. |
Return value
Name | Description |
---|---|
MIRA_SUCCESS | The callback was successfully set. |