NHAL Interface v0.5.0
Hardware Abstraction Layer Interface for Embedded Systems
|
Hardware Abstraction Layer (HAL) for asynchronous UART communication. More...
Go to the source code of this file.
Functions | |
nhal_result_t | nhal_uart_init_async (struct nhal_uart_context *ctx, const struct nhal_async_config *async_cfg) |
Initialize UART context for async mode. | |
nhal_result_t | nhal_uart_deinit_async (struct nhal_uart_context *ctx) |
Deinitialize UART async mode. | |
nhal_result_t | nhal_uart_set_async_callback (struct nhal_uart_context *ctx, nhal_async_complete_cb_t callback) |
Set callback for async operation completion. | |
nhal_result_t | nhal_uart_disable_async_callback (struct nhal_uart_context *ctx) |
Disable async completion callback. | |
nhal_async_status_t | nhal_uart_get_async_status (struct nhal_uart_context *ctx) |
Get current async operation status. | |
nhal_result_t | nhal_uart_write_async (struct nhal_uart_context *ctx, const uint8_t *data, size_t len) |
Write data asynchronously. | |
nhal_result_t | nhal_uart_read_async (struct nhal_uart_context *ctx, uint8_t *data, size_t len) |
Read data asynchronously. | |
Hardware Abstraction Layer (HAL) for asynchronous UART communication.
This header defines the public interface for asynchronous UART operations using internal buffers. It provides functions for enabling async mode, managing buffers, and performing non-blocking read/write operations with callback completion.
Async mode provides non-blocking data flow using internal TX/RX buffers managed by the HAL. This mode requires NHAL_UART_ASYNC_SUPPORT to be defined at compile time.
Definition in file nhal_uart_async.h.
nhal_result_t nhal_uart_deinit_async | ( | struct nhal_uart_context * | ctx | ) |
Deinitialize UART async mode.
ctx | Pointer to UART context structure |
nhal_result_t nhal_uart_disable_async_callback | ( | struct nhal_uart_context * | ctx | ) |
Disable async completion callback.
ctx | Pointer to UART context structure |
nhal_async_status_t nhal_uart_get_async_status | ( | struct nhal_uart_context * | ctx | ) |
Get current async operation status.
ctx | Pointer to UART context structure |
nhal_result_t nhal_uart_init_async | ( | struct nhal_uart_context * | ctx, |
const struct nhal_async_config * | async_cfg | ||
) |
Initialize UART context for async mode.
ctx | Pointer to UART context structure |
async_cfg | Pointer to async configuration |
nhal_result_t nhal_uart_read_async | ( | struct nhal_uart_context * | ctx, |
uint8_t * | data, | ||
size_t | len | ||
) |
Read data asynchronously.
ctx | Pointer to UART context structure |
data | Pointer to buffer for received data |
len | Number of bytes to read |
timeout_ms | Timeout in milliseconds |
nhal_result_t nhal_uart_set_async_callback | ( | struct nhal_uart_context * | ctx, |
nhal_async_complete_cb_t | callback | ||
) |
Set callback for async operation completion.
ctx | Pointer to UART context structure |
callback | Callback function to execute on completion |
nhal_result_t nhal_uart_write_async | ( | struct nhal_uart_context * | ctx, |
const uint8_t * | data, | ||
size_t | len | ||
) |
Write data asynchronously.
ctx | Pointer to UART context structure |
data | Pointer to data to transmit |
len | Number of bytes to transmit |
timeout_ms | Timeout in milliseconds |