|  | MCUXpresso SDK API Reference Manual
    Rev. 0
    NXP Semiconductors | 
| Data Structures | |
| struct | hal_uart_config_t | 
| UART configuration structure.  More... | |
| struct | hal_uart_transfer_t | 
| UART transfer structure.  More... | |
| Macros | |
| #define | UART_ADAPTER_NON_BLOCKING_MODE (0U) | 
| Enable or disable UART adapter non-blocking mode (1 - enable, 0 - disable) | |
| #define | HAL_UART_TRANSFER_MODE (0U) | 
| Whether enable transactional function of the UART.  More... | |
| Typedefs | |
| typedef void(* | hal_uart_transfer_callback_t )(hal_uart_handle_t handle, hal_uart_status_t status, void *callbackParam) | 
| UART transfer callback function.  More... | |
| Enumerations | |
| enum | hal_uart_status_t { kStatus_HAL_UartSuccess = kStatus_Success, kStatus_HAL_UartTxBusy = MAKE_STATUS(kStatusGroup_HAL_UART, 1), kStatus_HAL_UartRxBusy = MAKE_STATUS(kStatusGroup_HAL_UART, 2), kStatus_HAL_UartTxIdle = MAKE_STATUS(kStatusGroup_HAL_UART, 3), kStatus_HAL_UartRxIdle = MAKE_STATUS(kStatusGroup_HAL_UART, 4), kStatus_HAL_UartBaudrateNotSupport, kStatus_HAL_UartProtocolError, kStatus_HAL_UartError = MAKE_STATUS(kStatusGroup_HAL_UART, 7) } | 
| UART status.  More... | |
| enum | hal_uart_parity_mode_t { kHAL_UartParityDisabled = 0x0U, kHAL_UartParityEven = 0x1U, kHAL_UartParityOdd = 0x2U } | 
| UART parity mode.  More... | |
| enum | hal_uart_stop_bit_count_t { kHAL_UartOneStopBit = 0U, kHAL_UartTwoStopBit = 1U } | 
| UART stop bit count.  More... | |
| Initialization and deinitialization | |
| hal_uart_status_t | HAL_UartInit (hal_uart_handle_t handle, hal_uart_config_t *config) | 
| Initializes a UART instance with the UART handle and the user configuration structure.  More... | |
| hal_uart_status_t | HAL_UartDeinit (hal_uart_handle_t handle) | 
| Deinitializes a UART instance.  More... | |
| Blocking bus Operations | |
| hal_uart_status_t | HAL_UartReceiveBlocking (hal_uart_handle_t handle, uint8_t *data, size_t length) | 
| Reads RX data register using a blocking method.  More... | |
| hal_uart_status_t | HAL_UartSendBlocking (hal_uart_handle_t handle, const uint8_t *data, size_t length) | 
| Writes to the TX register using a blocking method.  More... | |
| struct hal_uart_config_t | 
| Data Fields | |
| uint32_t | srcClock_Hz | 
| Source clock. | |
| uint32_t | baudRate_Bps | 
| Baud rate. | |
| hal_uart_parity_mode_t | parityMode | 
| Parity mode, disabled (default), even, odd. | |
| hal_uart_stop_bit_count_t | stopBitCount | 
| Number of stop bits, 1 stop bit (default) or 2 stop bits. | |
| uint8_t | enableRx | 
| Enable RX. | |
| uint8_t | enableTx | 
| Enable TX. | |
| uint8_t | instance | 
| Instance (0 - UART0, 1 - UART1, ...), detail information please refer to the SOC corresponding RM.  More... | |
| uint8_t hal_uart_config_t::instance | 
Invalid instance value will cause initialization failure.
| struct hal_uart_transfer_t | 
| #define HAL_UART_TRANSFER_MODE (0U) | 
(0 - disable, 1 - enable)
| typedef void(* hal_uart_transfer_callback_t)(hal_uart_handle_t handle, hal_uart_status_t status, void *callbackParam) | 
| enum hal_uart_status_t | 
| hal_uart_status_t HAL_UartInit | ( | hal_uart_handle_t | handle, | 
| hal_uart_config_t * | config | ||
| ) | 
This function configures the UART module with user-defined settings. The user can configure the configuration structure. The parameter handle is a pointer to point to a memory space of size #HAL_UART_HANDLE_SIZE allocated by the caller. Example below shows how to use this API to configure the UART.
| handle | Pointer to point to a memory space of size #HAL_UART_HANDLE_SIZE allocated by the caller. | 
| config | Pointer to user-defined configuration structure. | 
| kStatus_HAL_UartBaudrateNotSupport | Baudrate is not support in current clock source. | 
| kStatus_HAL_UartSuccess | UART initialization succeed | 
| hal_uart_status_t HAL_UartDeinit | ( | hal_uart_handle_t | handle | ) | 
This function waits for TX complete, disables TX and RX, and disables the UART clock.
| handle | UART handle pointer. | 
| kStatus_HAL_UartSuccess | UART de-initialization succeed | 
| hal_uart_status_t HAL_UartReceiveBlocking | ( | hal_uart_handle_t | handle, | 
| uint8_t * | data, | ||
| size_t | length | ||
| ) | 
This function polls the RX register, waits for the RX register to be full or for RX FIFO to have data, and reads data from the RX register.
| handle | UART handle pointer. | 
| data | Start address of the buffer to store the received data. | 
| length | Size of the buffer. | 
| kStatus_HAL_UartError | An error occurred while receiving data. | 
| kStatus_HAL_UartParityError | A parity error occurred while receiving data. | 
| kStatus_HAL_UartSuccess | Successfully received all data. | 
| hal_uart_status_t HAL_UartSendBlocking | ( | hal_uart_handle_t | handle, | 
| const uint8_t * | data, | ||
| size_t | length | ||
| ) | 
This function polls the TX register, waits for the TX register to be empty or for the TX FIFO to have room and writes data to the TX buffer.
| handle | UART handle pointer. | 
| data | Start address of the data to write. | 
| length | Size of the data to write. | 
| kStatus_HAL_UartSuccess | Successfully sent all data. |