Firmware SDK
|
Driver for UART (universal asynchronous receiver/transmitter) More...
Enumerations | |
enum | bc_uart_channel_t { BC_UART_UART0 = 0, BC_UART_UART1 = 1, BC_UART_UART2 = 2 } |
UART channels. More... | |
enum | bc_uart_baudrate_t { BC_UART_BAUDRATE_9600 = 0, BC_UART_BAUDRATE_19200 = 1, BC_UART_BAUDRATE_38400 = 2, BC_UART_BAUDRATE_57600 = 3, BC_UART_BAUDRATE_115200 = 4, BC_UART_BAUDRATE_921600 = 5 } |
UART baudrate. More... | |
enum | bc_uart_setting_t { BC_UART_SETTING_8N1 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_1, BC_UART_SETTING_8E1 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_EVEN | _BC_UART_SETTING_STOP_BIT_1, BC_UART_SETTING_8O1 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_ODD | _BC_UART_SETTING_STOP_BIT_1, BC_UART_SETTING_8N2 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_2, BC_UART_SETTING_8E2 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_EVEN | _BC_UART_SETTING_STOP_BIT_2, BC_UART_SETTING_8O2 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_2, BC_UART_SETTING_8N1_5 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_15, BC_UART_SETTING_8E1_5 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_EVEN | _BC_UART_SETTING_STOP_BIT_15, BC_UART_SETTING_8O1_5 = _BC_UART_SETTING_DATA_BITS_8 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_15, BC_UART_SETTING_7N1 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_1, BC_UART_SETTING_7E1 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_EVEN | _BC_UART_SETTING_STOP_BIT_1, BC_UART_SETTING_7O1 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_ODD | _BC_UART_SETTING_STOP_BIT_1, BC_UART_SETTING_7N2 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_2, BC_UART_SETTING_7E2 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_EVEN | _BC_UART_SETTING_STOP_BIT_2, BC_UART_SETTING_7O2 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_2, BC_UART_SETTING_7N1_5 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_15, BC_UART_SETTING_7E1_5 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_EVEN | _BC_UART_SETTING_STOP_BIT_15, BC_UART_SETTING_7O1_5 = _BC_UART_SETTING_DATA_BITS_7 | _BC_UART_SETTING_PARITY_NONE | _BC_UART_SETTING_STOP_BIT_15 } |
UART setting. More... | |
enum | bc_uart_event_t { BC_UART_EVENT_ASYNC_WRITE_DONE = 0, BC_UART_EVENT_ASYNC_READ_DATA = 1, BC_UART_EVENT_ASYNC_READ_TIMEOUT = 2 } |
Callback events. More... | |
Functions | |
void | bc_uart_init (bc_uart_channel_t channel, bc_uart_baudrate_t baudrate, bc_uart_setting_t setting) |
Initialize UART channel. More... | |
void | bc_uart_deinit (bc_uart_channel_t channel) |
Deinitialize UART channel. More... | |
size_t | bc_uart_write (bc_uart_channel_t channel, const void *buffer, size_t length) |
Write data to UART channel (blocking call) More... | |
size_t | bc_uart_read (bc_uart_channel_t channel, void *buffer, size_t length, bc_tick_t timeout) |
Read data from UART channel (blocking call) More... | |
void | bc_uart_set_event_handler (bc_uart_channel_t channel, void(*event_handler)(bc_uart_channel_t, bc_uart_event_t, void *), void *event_param) |
Set callback function. More... | |
void | bc_uart_set_async_fifo (bc_uart_channel_t channel, bc_fifo_t *write_fifo, bc_fifo_t *read_fifo) |
Set buffers for async transfers. More... | |
size_t | bc_uart_async_write (bc_uart_channel_t channel, const void *buffer, size_t length) |
Add data to be transmited in async mode. More... | |
bool | bc_uart_async_read_start (bc_uart_channel_t channel, bc_tick_t timeout) |
Start async reading. More... | |
bool | bc_uart_async_read_cancel (bc_uart_channel_t channel) |
Cancel async reading. More... | |
size_t | bc_uart_async_read (bc_uart_channel_t channel, void *buffer, size_t length) |
Get data that has been received in async mode. More... | |
Driver for UART (universal asynchronous receiver/transmitter)
enum bc_uart_baudrate_t |
UART baudrate.
enum bc_uart_channel_t |
enum bc_uart_event_t |
enum bc_uart_setting_t |
UART setting.
size_t bc_uart_async_read | ( | bc_uart_channel_t | channel, |
void * | buffer, | ||
size_t | length | ||
) |
bool bc_uart_async_read_cancel | ( | bc_uart_channel_t | channel | ) |
Cancel async reading.
[in] | channel | UART channel |
Definition at line 531 of file bc_uart.c.
Referenced by bc_uart_deinit().
bool bc_uart_async_read_start | ( | bc_uart_channel_t | channel, |
bc_tick_t | timeout | ||
) |
Start async reading.
[in] | channel | UART channel |
[in] | timeout | Maximum timeout in ms |
Definition at line 475 of file bc_uart.c.
Referenced by bc_cmwx1zzabz_init(), bc_td1207r_init(), and bc_wssfm10r1at_init().
size_t bc_uart_async_write | ( | bc_uart_channel_t | channel, |
const void * | buffer, | ||
size_t | length | ||
) |
void bc_uart_deinit | ( | bc_uart_channel_t | channel | ) |
void bc_uart_init | ( | bc_uart_channel_t | channel, |
bc_uart_baudrate_t | baudrate, | ||
bc_uart_setting_t | setting | ||
) |
Initialize UART channel.
[in] | channel | UART channel |
[in] | config | UART configuration |
Definition at line 53 of file bc_uart.c.
Referenced by bc_cmwx1zzabz_init(), bc_log_init(), bc_td1207r_init(), and bc_wssfm10r1at_init().
size_t bc_uart_read | ( | bc_uart_channel_t | channel, |
void * | buffer, | ||
size_t | length, | ||
bc_tick_t | timeout | ||
) |
Read data from UART channel (blocking call)
[in] | channel | UART channel |
[in] | buffer | Pointer to destination buffer |
[in] | length | Number of bytes to be read |
[in] | timeout | Read operation timeout in ticks |
Definition at line 372 of file bc_uart.c.
void bc_uart_set_async_fifo | ( | bc_uart_channel_t | channel, |
bc_fifo_t * | write_fifo, | ||
bc_fifo_t * | read_fifo | ||
) |
Set buffers for async transfers.
[in] | channel | UART channel |
[in] | write_fifo | Pointer to writing fifo |
[in] | read_fifo | Pointer to reader fifo |
Definition at line 422 of file bc_uart.c.
Referenced by bc_cmwx1zzabz_init(), bc_td1207r_init(), and bc_wssfm10r1at_init().
void bc_uart_set_event_handler | ( | bc_uart_channel_t | channel, |
void(*)(bc_uart_channel_t, bc_uart_event_t, void *) | event_handler, | ||
void * | event_param | ||
) |
Set callback function.
[in] | channel | UART channel |
[in] | event_handler | Function address |
[in] | event_param | Optional event parameter (can be NULL) |
Definition at line 416 of file bc_uart.c.
Referenced by bc_cmwx1zzabz_init().
size_t bc_uart_write | ( | bc_uart_channel_t | channel, |
const void * | buffer, | ||
size_t | length | ||
) |
Write data to UART channel (blocking call)
[in] | channel | UART channel |
[in] | buffer | Pointer to source buffer |
[in] | length | Number of bytes to be written |
Definition at line 330 of file bc_uart.c.
Referenced by bc_atci_printf(), bc_atci_write_error(), bc_atci_write_ok(), bc_log_dump(), and bc_log_init().