UART¶
A universal asynchronous receiver-transmitter (UART) is a peripheral device for asynchronous serial communication.
MiraOS supports independent operation of multiple UARTs.
Defines¶
Name | Value | Description |
---|---|---|
MIRA_IODEF_UART0 |
{ miraint_uart_read, miraint_uart_write, 0 } | |
MIRA_IODEF_UART1 |
{ miraint_uart_read, miraint_uart_write, 1 } | |
MIRA_IODEF_UART2 |
{ miraint_uart_read, miraint_uart_write, 2 } | |
MIRA_IODEF_UART(_ID) |
{ miraint_uart_read, miraint_uart_write, (_ID) } |
Types¶
Name | Type | Description |
---|---|---|
mira_uart_input_callback_t |
int(* )(uint8_t c, void *storage) |
Enums¶
mira_uart_parity_t¶
Name | Value | Description |
---|---|---|
MIRA_UART_PARITY_NONE |
||
MIRA_UART_PARITY_EVEN |
||
MIRA_UART_PARITY_ODD |
Structs¶
mira_uart_config_t¶
Type | Name | Description |
---|---|---|
int32_t |
baudrate | |
mira_gpio_pin_t |
tx_pin | Pin to use as TXD |
mira_gpio_pin_t |
rx_pin | Pin to use as RXD |
mira_uart_parity_t |
parity |
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.
Parameters
Parameter | Description |
---|---|
uart_id |
The index of the UART peripheral. |
config |
Pointer to a configuration to setup. |
Return
See the enum definition.
Value | 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
Parameter | 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
See the enum definition.
Value | Description |
---|---|
MIRA_SUCCESS |
The callback was successfully set. |