Classes | Enumerator | Variables
Lpuart_driver

Classes

struct  _lpuart_config
 LPUART configuration structure. More...
 
struct  _lpuart_handle
 LPUART handle structure. More...
 
struct  _lpuart_transfer
 LPUART transfer structure. More...
 

Variables

uint32_t _lpuart_config::baudRate_Bps
 
lpuart_transfer_callback_t _lpuart_handle::callback
 
uint8_t * _lpuart_transfer::data
 
lpuart_data_bits_t _lpuart_config::dataBitsCount
 
size_t _lpuart_transfer::dataSize
 
bool _lpuart_config::enableRx
 
bool _lpuart_config::enableTx
 
bool _lpuart_config::isMsb
 
lpuart_parity_mode_t _lpuart_config::parityMode
 
uint8_t *volatile _lpuart_handle::rxData
 
volatile size_t _lpuart_handle::rxDataSize
 
size_t _lpuart_handle::rxDataSizeAll
 
lpuart_idle_config_t _lpuart_config::rxIdleConfig
 
lpuart_idle_type_select_t _lpuart_config::rxIdleType
 
uint8_t * _lpuart_handle::rxRingBuffer
 
volatile uint16_t _lpuart_handle::rxRingBufferHead
 
size_t _lpuart_handle::rxRingBufferSize
 
volatile uint16_t _lpuart_handle::rxRingBufferTail
 
volatile uint8_t _lpuart_handle::rxState
 
uint8_t *volatile _lpuart_handle::txData
 
volatile size_t _lpuart_handle::txDataSize
 
size_t _lpuart_handle::txDataSizeAll
 
volatile uint8_t _lpuart_handle::txState
 
void * _lpuart_handle::userData
 

Driver version

enum  {
  kStatus_LPUART_TxBusy = MAKE_STATUS(kStatusGroup_LPUART, 0), kStatus_LPUART_RxBusy = MAKE_STATUS(kStatusGroup_LPUART, 1), kStatus_LPUART_TxIdle = MAKE_STATUS(kStatusGroup_LPUART, 2), kStatus_LPUART_RxIdle = MAKE_STATUS(kStatusGroup_LPUART, 3),
  kStatus_LPUART_TxWatermarkTooLarge = MAKE_STATUS(kStatusGroup_LPUART, 4), kStatus_LPUART_RxWatermarkTooLarge = MAKE_STATUS(kStatusGroup_LPUART, 5), kStatus_LPUART_FlagCannotClearManually = MAKE_STATUS(kStatusGroup_LPUART, 6), kStatus_LPUART_Error = MAKE_STATUS(kStatusGroup_LPUART, 7),
  kStatus_LPUART_RxRingBufferOverrun, kStatus_LPUART_RxHardwareOverrun = MAKE_STATUS(kStatusGroup_LPUART, 9), kStatus_LPUART_NoiseError = MAKE_STATUS(kStatusGroup_LPUART, 10), kStatus_LPUART_FramingError = MAKE_STATUS(kStatusGroup_LPUART, 11),
  kStatus_LPUART_ParityError = MAKE_STATUS(kStatusGroup_LPUART, 12), kStatus_LPUART_BaudrateNotSupport, kStatus_LPUART_IdleLineDetected = MAKE_STATUS(kStatusGroup_LPUART, 14), kStatus_LPUART_Timeout = MAKE_STATUS(kStatusGroup_LPUART, 15)
}
 Error codes for the LPUART driver. More...
 
enum  _lpuart_parity_mode { kLPUART_ParityDisabled = 0x0U, kLPUART_ParityEven = 0x2U, kLPUART_ParityOdd = 0x3U }
 LPUART parity mode. More...
 
enum  _lpuart_data_bits { kLPUART_EightDataBits = 0x0U }
 LPUART data bits count. More...
 
enum  _lpuart_stop_bit_count { kLPUART_OneStopBit = 0U, kLPUART_TwoStopBit = 1U }
 LPUART stop bit count. More...
 
enum  _lpuart_idle_type_select { kLPUART_IdleTypeStartBit = 0U, kLPUART_IdleTypeStopBit = 1U }
 LPUART idle flag type defines when the receiver starts counting. More...
 
enum  _lpuart_idle_config {
  kLPUART_IdleCharacter1 = 0U, kLPUART_IdleCharacter2 = 1U, kLPUART_IdleCharacter4 = 2U, kLPUART_IdleCharacter8 = 3U,
  kLPUART_IdleCharacter16 = 4U, kLPUART_IdleCharacter32 = 5U, kLPUART_IdleCharacter64 = 6U, kLPUART_IdleCharacter128 = 7U
}
 LPUART idle detected configuration. This structure defines the number of idle characters that must be received before the IDLE flag is set. More...
 
enum  _lpuart_interrupt_enable {
  kLPUART_RxActiveEdgeInterruptEnable = (LPUART_BAUD_RXEDGIE_MASK >> 8), kLPUART_TxDataRegEmptyInterruptEnable = (LPUART_CTRL_TIE_MASK), kLPUART_TransmissionCompleteInterruptEnable = (LPUART_CTRL_TCIE_MASK), kLPUART_RxDataRegFullInterruptEnable = (LPUART_CTRL_RIE_MASK),
  kLPUART_IdleLineInterruptEnable = (LPUART_CTRL_ILIE_MASK), kLPUART_RxOverrunInterruptEnable = (LPUART_CTRL_ORIE_MASK), kLPUART_NoiseErrorInterruptEnable = (LPUART_CTRL_NEIE_MASK), kLPUART_FramingErrorInterruptEnable = (LPUART_CTRL_FEIE_MASK),
  kLPUART_ParityErrorInterruptEnable = (LPUART_CTRL_PEIE_MASK)
}
 LPUART interrupt configuration structure, default settings all disabled. More...
 
enum  _lpuart_flags {
  kLPUART_TxDataRegEmptyFlag, kLPUART_TransmissionCompleteFlag, kLPUART_RxDataRegFullFlag, kLPUART_IdleLineFlag = (LPUART_STAT_IDLE_MASK),
  kLPUART_RxOverrunFlag = (LPUART_STAT_OR_MASK), kLPUART_NoiseErrorFlag = (LPUART_STAT_NF_MASK), kLPUART_FramingErrorFlag, kLPUART_ParityErrorFlag = (LPUART_STAT_PF_MASK),
  kLPUART_RxActiveEdgeFlag, kLPUART_RxActiveFlag
}
 LPUART status flags. More...
 
typedef enum _lpuart_parity_mode lpuart_parity_mode_t
 LPUART parity mode. More...
 
typedef enum _lpuart_data_bits lpuart_data_bits_t
 LPUART data bits count. More...
 
typedef enum _lpuart_stop_bit_count lpuart_stop_bit_count_t
 LPUART stop bit count. More...
 
typedef enum _lpuart_idle_type_select lpuart_idle_type_select_t
 LPUART idle flag type defines when the receiver starts counting. More...
 
typedef enum _lpuart_idle_config lpuart_idle_config_t
 LPUART idle detected configuration. This structure defines the number of idle characters that must be received before the IDLE flag is set. More...
 
typedef struct _lpuart_config lpuart_config_t
 LPUART configuration structure. More...
 
typedef struct _lpuart_transfer lpuart_transfer_t
 LPUART transfer structure. More...
 
typedef struct _lpuart_handle lpuart_handle_t
 
typedef void(* lpuart_transfer_callback_t) (LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData)
 LPUART transfer callback function. More...
 
#define FSL_LPUART_DRIVER_VERSION   (MAKE_VERSION(2, 3, 0))
 LPUART driver version 2.3.0. More...
 
#define UART_RETRY_TIMES   0U /* Defining to zero means to keep waiting for the flag until it is assert/deassert. */
 Retry times for waiting flag. More...
 

Initialization and deinitialization

status_t LPUART_Init (LPUART_Type *base, const lpuart_config_t *config, uint32_t srcClock_Hz)
 Initializes an LPUART instance with the user configuration structure and the peripheral clock. More...
 
void LPUART_Deinit (LPUART_Type *base)
 Deinitializes a LPUART instance. More...
 
void LPUART_GetDefaultConfig (lpuart_config_t *config)
 Gets the default configuration structure. More...
 
status_t LPUART_SetBaudRate (LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz)
 Sets the LPUART instance baudrate. More...
 

Status

uint32_t LPUART_GetStatusFlags (LPUART_Type *base)
 Gets LPUART status flags. More...
 
status_t LPUART_ClearStatusFlags (LPUART_Type *base, uint32_t mask)
 Clears status flags with a provided mask. More...
 

Interrupts

void LPUART_EnableInterrupts (LPUART_Type *base, uint32_t mask)
 Enables LPUART interrupts according to a provided mask. More...
 
void LPUART_DisableInterrupts (LPUART_Type *base, uint32_t mask)
 Disables LPUART interrupts according to a provided mask. More...
 
uint32_t LPUART_GetEnabledInterrupts (LPUART_Type *base)
 Gets enabled LPUART interrupts. More...
 

Bus Operations

uint32_t LPUART_GetInstance (LPUART_Type *base)
 Get the LPUART instance from peripheral base address. More...
 
static void LPUART_EnableTx (LPUART_Type *base, bool enable)
 Enables or disables the LPUART transmitter. More...
 
static void LPUART_EnableRx (LPUART_Type *base, bool enable)
 Enables or disables the LPUART receiver. More...
 
static void LPUART_WriteByte (LPUART_Type *base, uint8_t data)
 Writes to the transmitter register. More...
 
static uint8_t LPUART_ReadByte (LPUART_Type *base)
 Reads the receiver register. More...
 
status_t LPUART_WriteBlocking (LPUART_Type *base, const uint8_t *data, size_t length)
 Writes to the transmitter register using a blocking method. More...
 
status_t LPUART_ReadBlocking (LPUART_Type *base, uint8_t *data, size_t length)
 Reads the receiver data register using a blocking method. More...
 

Transactional

void LPUART_TransferCreateHandle (LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_callback_t callback, void *userData)
 Initializes the LPUART handle. More...
 
status_t LPUART_TransferSendNonBlocking (LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_t *xfer)
 Transmits a buffer of data using the interrupt method. More...
 
void LPUART_TransferStartRingBuffer (LPUART_Type *base, lpuart_handle_t *handle, uint8_t *ringBuffer, size_t ringBufferSize)
 Sets up the RX ring buffer. More...
 
void LPUART_TransferStopRingBuffer (LPUART_Type *base, lpuart_handle_t *handle)
 Aborts the background transfer and uninstalls the ring buffer. More...
 
size_t LPUART_TransferGetRxRingBufferLength (LPUART_Type *base, lpuart_handle_t *handle)
 Get the length of received data in RX ring buffer. More...
 
void LPUART_TransferAbortSend (LPUART_Type *base, lpuart_handle_t *handle)
 Aborts the interrupt-driven data transmit. More...
 
status_t LPUART_TransferGetSendCount (LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count)
 Gets the number of bytes that have been sent out to bus. More...
 
status_t LPUART_TransferReceiveNonBlocking (LPUART_Type *base, lpuart_handle_t *handle, lpuart_transfer_t *xfer, size_t *receivedBytes)
 Receives a buffer of data using the interrupt method. More...
 
void LPUART_TransferAbortReceive (LPUART_Type *base, lpuart_handle_t *handle)
 Aborts the interrupt-driven data receiving. More...
 
status_t LPUART_TransferGetReceiveCount (LPUART_Type *base, lpuart_handle_t *handle, uint32_t *count)
 Gets the number of bytes that have been received. More...
 
void LPUART_TransferHandleIRQ (LPUART_Type *base, lpuart_handle_t *handle)
 LPUART IRQ handle function. More...
 
void LPUART_TransferHandleErrorIRQ (LPUART_Type *base, lpuart_handle_t *handle)
 LPUART Error IRQ handle function. More...
 

Detailed Description

Macro Definition Documentation

◆ FSL_LPUART_DRIVER_VERSION

#define FSL_LPUART_DRIVER_VERSION   (MAKE_VERSION(2, 3, 0))

LPUART driver version 2.3.0.

Definition at line 25 of file fsl_lpuart.h.

◆ UART_RETRY_TIMES

#define UART_RETRY_TIMES   0U /* Defining to zero means to keep waiting for the flag until it is assert/deassert. */

Retry times for waiting flag.

Definition at line 30 of file fsl_lpuart.h.

Typedef Documentation

◆ lpuart_config_t

LPUART configuration structure.

◆ lpuart_data_bits_t

LPUART data bits count.

◆ lpuart_handle_t

Definition at line 227 of file fsl_lpuart.h.

◆ lpuart_idle_config_t

LPUART idle detected configuration. This structure defines the number of idle characters that must be received before the IDLE flag is set.

◆ lpuart_idle_type_select_t

LPUART idle flag type defines when the receiver starts counting.

◆ lpuart_parity_mode_t

LPUART parity mode.

◆ lpuart_stop_bit_count_t

LPUART stop bit count.

◆ lpuart_transfer_callback_t

typedef void(* lpuart_transfer_callback_t) (LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData)

LPUART transfer callback function.

Definition at line 230 of file fsl_lpuart.h.

◆ lpuart_transfer_t

LPUART transfer structure.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Error codes for the LPUART driver.

Enumerator
kStatus_LPUART_TxBusy 

TX busy

kStatus_LPUART_RxBusy 

RX busy

kStatus_LPUART_TxIdle 

LPUART transmitter is idle.

kStatus_LPUART_RxIdle 

LPUART receiver is idle.

kStatus_LPUART_TxWatermarkTooLarge 

TX FIFO watermark too large

kStatus_LPUART_RxWatermarkTooLarge 

RX FIFO watermark too large

kStatus_LPUART_FlagCannotClearManually 

Some flag can't manually clear

kStatus_LPUART_Error 

Error happens on LPUART.

kStatus_LPUART_RxRingBufferOverrun 

LPUART RX software ring buffer overrun.

kStatus_LPUART_RxHardwareOverrun 

LPUART RX receiver overrun.

kStatus_LPUART_NoiseError 

LPUART noise error.

kStatus_LPUART_FramingError 

LPUART framing error.

kStatus_LPUART_ParityError 

LPUART parity error.

kStatus_LPUART_BaudrateNotSupport 

Baudrate is not support in current clock source

kStatus_LPUART_IdleLineDetected 

IDLE flag.

kStatus_LPUART_Timeout 

LPUART times out.

Definition at line 34 of file fsl_lpuart.h.

◆ _lpuart_data_bits

LPUART data bits count.

Enumerator
kLPUART_EightDataBits 

Eight data bit

Definition at line 65 of file fsl_lpuart.h.

◆ _lpuart_flags

LPUART status flags.

This provides constants for the LPUART status flags for use in the LPUART functions.

Enumerator
kLPUART_TxDataRegEmptyFlag 

Transmit data register empty flag, sets when transmit buffer is empty

kLPUART_TransmissionCompleteFlag 

Transmission complete flag, sets when transmission activity complete

kLPUART_RxDataRegFullFlag 

Receive data register full flag, sets when the receive data buffer is full

kLPUART_IdleLineFlag 

Idle line detect flag, sets when idle line detected

kLPUART_RxOverrunFlag 

Receive Overrun, sets when new data is received before data is read from receive register

kLPUART_NoiseErrorFlag 

Receive takes 3 samples of each received bit. If any of these samples differ, noise flag sets

kLPUART_FramingErrorFlag 

Frame error flag, sets if logic 0 was detected where stop bit expected

kLPUART_ParityErrorFlag 

If parity enabled, sets upon parity error detection

kLPUART_RxActiveEdgeFlag 

Receive pin active edge interrupt flag, sets when active edge detected

kLPUART_RxActiveFlag 

Receiver Active Flag (RAF), sets at beginning of valid start bit

Definition at line 149 of file fsl_lpuart.h.

◆ _lpuart_idle_config

LPUART idle detected configuration. This structure defines the number of idle characters that must be received before the IDLE flag is set.

Enumerator
kLPUART_IdleCharacter1 

the number of idle characters.

kLPUART_IdleCharacter2 

the number of idle characters.

kLPUART_IdleCharacter4 

the number of idle characters.

kLPUART_IdleCharacter8 

the number of idle characters.

kLPUART_IdleCharacter16 

the number of idle characters.

kLPUART_IdleCharacter32 

the number of idle characters.

kLPUART_IdleCharacter64 

the number of idle characters.

kLPUART_IdleCharacter128 

the number of idle characters.

Definition at line 107 of file fsl_lpuart.h.

◆ _lpuart_idle_type_select

LPUART idle flag type defines when the receiver starts counting.

Enumerator
kLPUART_IdleTypeStartBit 

Start counting after a valid start bit.

kLPUART_IdleTypeStopBit 

Start counting after a stop bit.

Definition at line 97 of file fsl_lpuart.h.

◆ _lpuart_interrupt_enable

LPUART interrupt configuration structure, default settings all disabled.

This structure contains the settings for all LPUART interrupt configurations.

Enumerator
kLPUART_RxActiveEdgeInterruptEnable 

Receive Active Edge.

kLPUART_TxDataRegEmptyInterruptEnable 

Transmit data register empty.

kLPUART_TransmissionCompleteInterruptEnable 

Transmission complete.

kLPUART_RxDataRegFullInterruptEnable 

Receiver data register full.

kLPUART_IdleLineInterruptEnable 

Idle line.

kLPUART_RxOverrunInterruptEnable 

Receiver Overrun.

kLPUART_NoiseErrorInterruptEnable 

Noise error flag.

kLPUART_FramingErrorInterruptEnable 

Framing error flag.

kLPUART_ParityErrorInterruptEnable 

Parity error flag.

Definition at line 124 of file fsl_lpuart.h.

◆ _lpuart_parity_mode

LPUART parity mode.

Enumerator
kLPUART_ParityDisabled 

Parity disabled

kLPUART_ParityEven 

Parity enabled, type even, bit setting: PE|PT = 10

kLPUART_ParityOdd 

Parity enabled, type odd, bit setting: PE|PT = 11

Definition at line 57 of file fsl_lpuart.h.

◆ _lpuart_stop_bit_count

LPUART stop bit count.

Enumerator
kLPUART_OneStopBit 

One stop bit

kLPUART_TwoStopBit 

Two stop bits

Definition at line 74 of file fsl_lpuart.h.

Function Documentation

◆ LPUART_ClearStatusFlags()

status_t LPUART_ClearStatusFlags ( LPUART_Type base,
uint32_t  mask 
)

Clears status flags with a provided mask.

This function clears LPUART status flags with a provided mask. Automatically cleared flags can't be cleared by this function. Flags that can only cleared or set by hardware are: kLPUART_TxDataRegEmptyFlag, kLPUART_TransmissionCompleteFlag, kLPUART_RxDataRegFullFlag, kLPUART_RxActiveFlag, kLPUART_NoiseErrorInRxDataRegFlag, kLPUART_ParityErrorInRxDataRegFlag, kLPUART_TxFifoEmptyFlag,kLPUART_RxFifoEmptyFlag Note: This API should be called when the Tx/Rx is idle, otherwise it takes no effects.

Parameters
baseLPUART peripheral base address.
maskthe status flags to be cleared. The user can use the enumerators in the _lpuart_status_flag_t to do the OR operation and get the mask.
Returns
0 succeed, others failed.
Return values
kStatus_LPUART_FlagCannotClearManuallyThe flag can't be cleared by this function but it is cleared automatically by hardware.
kStatus_SuccessStatus in the mask are cleared.

brief Clears status flags with a provided mask.

This function clears LPUART status flags with a provided mask. Automatically cleared flags can't be cleared by this function. Flags that can only cleared or set by hardware are: kLPUART_TxDataRegEmptyFlag, kLPUART_TransmissionCompleteFlag, kLPUART_RxDataRegFullFlag, kLPUART_RxActiveFlag, kLPUART_NoiseErrorInRxDataRegFlag, kLPUART_ParityErrorInRxDataRegFlag, kLPUART_TxFifoEmptyFlag,kLPUART_RxFifoEmptyFlag Note: This API should be called when the Tx/Rx is idle, otherwise it takes no effects.

param base LPUART peripheral base address. param mask the status flags to be cleared. The user can use the enumerators in the _lpuart_status_flag_t to do the OR operation and get the mask. return 0 succeed, others failed. retval kStatus_LPUART_FlagCannotClearManually The flag can't be cleared by this function but it is cleared automatically by hardware. retval kStatus_Success Status in the mask are cleared.

Definition at line 772 of file fsl_lpuart.c.

◆ LPUART_Deinit()

void LPUART_Deinit ( LPUART_Type base)

Deinitializes a LPUART instance.

This function waits for transmit to complete, disables TX and RX, and disables the LPUART clock.

Parameters
baseLPUART peripheral base address.

brief Deinitializes a LPUART instance.

This function waits for transmit to complete, disables TX and RX, and disables the LPUART clock.

param base LPUART peripheral base address.

Definition at line 455 of file fsl_lpuart.c.

◆ LPUART_DisableInterrupts()

void LPUART_DisableInterrupts ( LPUART_Type base,
uint32_t  mask 
)

Disables LPUART interrupts according to a provided mask.

This function disables the LPUART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See _lpuart_interrupt_enable. This example shows how to disable the TX empty interrupt and RX full interrupt:

Parameters
baseLPUART peripheral base address.
maskThe interrupts to disable. Logical OR of _lpuart_interrupt_enable.

brief Disables LPUART interrupts according to a provided mask.

This function disables the LPUART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See ref _lpuart_interrupt_enable. This example shows how to disable the TX empty interrupt and RX full interrupt: code LPUART_DisableInterrupts(LPUART1,kLPUART_TxDataRegEmptyInterruptEnable | kLPUART_RxDataRegFullInterruptEnable); endcode

param base LPUART peripheral base address. param mask The interrupts to disable. Logical OR of ref _lpuart_interrupt_enable.

Definition at line 681 of file fsl_lpuart.c.

◆ LPUART_EnableInterrupts()

void LPUART_EnableInterrupts ( LPUART_Type base,
uint32_t  mask 
)

Enables LPUART interrupts according to a provided mask.

This function enables the LPUART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See the _lpuart_interrupt_enable. This examples shows how to enable TX empty interrupt and RX full interrupt:

Parameters
baseLPUART peripheral base address.
maskThe interrupts to enable. Logical OR of the enumeration _uart_interrupt_enable.

brief Enables LPUART interrupts according to a provided mask.

This function enables the LPUART interrupts according to a provided mask. The mask is a logical OR of enumeration members. See the ref _lpuart_interrupt_enable. This examples shows how to enable TX empty interrupt and RX full interrupt: code LPUART_EnableInterrupts(LPUART1,kLPUART_TxDataRegEmptyInterruptEnable | kLPUART_RxDataRegFullInterruptEnable); endcode

param base LPUART peripheral base address. param mask The interrupts to enable. Logical OR of ref _uart_interrupt_enable.

Definition at line 657 of file fsl_lpuart.c.

◆ LPUART_EnableRx()

static void LPUART_EnableRx ( LPUART_Type base,
bool  enable 
)
inlinestatic

Enables or disables the LPUART receiver.

This function enables or disables the LPUART receiver.

Parameters
baseLPUART peripheral base address.
enableTrue to enable, false to disable.

Definition at line 571 of file fsl_lpuart.h.

◆ LPUART_EnableTx()

static void LPUART_EnableTx ( LPUART_Type base,
bool  enable 
)
inlinestatic

Enables or disables the LPUART transmitter.

This function enables or disables the LPUART transmitter.

Parameters
baseLPUART peripheral base address.
enableTrue to enable, false to disable.

Definition at line 551 of file fsl_lpuart.h.

◆ LPUART_GetDefaultConfig()

void LPUART_GetDefaultConfig ( lpuart_config_t config)

Gets the default configuration structure.

This function initializes the LPUART configuration structure to a default value. The default values are: lpuartConfig->baudRate_Bps = 115200U; lpuartConfig->parityMode = kLPUART_ParityDisabled; lpuartConfig->dataBitsCount = kLPUART_EightDataBits; lpuartConfig->isMsb = false; lpuartConfig->stopBitCount = kLPUART_OneStopBit; lpuartConfig->txFifoWatermark = 0; lpuartConfig->rxFifoWatermark = 1; lpuartConfig->rxIdleType = kLPUART_IdleTypeStartBit; lpuartConfig->rxIdleConfig = kLPUART_IdleCharacter1; lpuartConfig->enableTx = false; lpuartConfig->enableRx = false;

Parameters
configPointer to a configuration structure.

brief Gets the default configuration structure.

This function initializes the LPUART configuration structure to a default value. The default values are: lpuartConfig->baudRate_Bps = 115200U; lpuartConfig->parityMode = kLPUART_ParityDisabled; lpuartConfig->dataBitsCount = kLPUART_EightDataBits; lpuartConfig->isMsb = false; lpuartConfig->stopBitCount = kLPUART_OneStopBit; lpuartConfig->txFifoWatermark = 0; lpuartConfig->rxFifoWatermark = 1; lpuartConfig->rxIdleType = kLPUART_IdleTypeStartBit; lpuartConfig->rxIdleConfig = kLPUART_IdleCharacter1; lpuartConfig->enableTx = false; lpuartConfig->enableRx = false;

param config Pointer to a configuration structure.

Definition at line 519 of file fsl_lpuart.c.

◆ LPUART_GetEnabledInterrupts()

uint32_t LPUART_GetEnabledInterrupts ( LPUART_Type base)

Gets enabled LPUART interrupts.

This function gets the enabled LPUART interrupts. The enabled interrupts are returned as the logical OR value of the enumerators _lpuart_interrupt_enable. To check a specific interrupt enable status, compare the return value with enumerators in _lpuart_interrupt_enable. For example, to check whether the TX empty interrupt is enabled:

uint32_t enabledInterrupts = LPUART_GetEnabledInterrupts(LPUART1);
if (kLPUART_TxDataRegEmptyInterruptEnable & enabledInterrupts)
{
...
}
Parameters
baseLPUART peripheral base address.
Returns
LPUART interrupt flags which are logical OR of the enumerators in _lpuart_interrupt_enable.

brief Gets enabled LPUART interrupts.

This function gets the enabled LPUART interrupts. The enabled interrupts are returned as the logical OR value of the enumerators ref _lpuart_interrupt_enable. To check a specific interrupt enable status, compare the return value with enumerators in ref _lpuart_interrupt_enable. For example, to check whether the TX empty interrupt is enabled: code uint32_t enabledInterrupts = LPUART_GetEnabledInterrupts(LPUART1);

if (kLPUART_TxDataRegEmptyInterruptEnable & enabledInterrupts) { ... } endcode

param base LPUART peripheral base address. return LPUART interrupt flags which are logical OR of the enumerators in ref _lpuart_interrupt_enable.

Definition at line 712 of file fsl_lpuart.c.

◆ LPUART_GetInstance()

uint32_t LPUART_GetInstance ( LPUART_Type base)

Get the LPUART instance from peripheral base address.

Parameters
baseLPUART peripheral base address.
Returns
LPUART instance.

brief Get the LPUART instance from peripheral base address.

param base LPUART peripheral base address. return LPUART instance.

Definition at line 113 of file fsl_lpuart.c.

◆ LPUART_GetStatusFlags()

uint32_t LPUART_GetStatusFlags ( LPUART_Type base)

Gets LPUART status flags.

This function gets all LPUART status flags. The flags are returned as the logical OR value of the enumerators _lpuart_flags. To check for a specific status, compare the return value with enumerators in the _lpuart_flags. For example, to check whether the TX is empty:

Parameters
baseLPUART peripheral base address.
Returns
LPUART status flags which are ORed by the enumerators in the _lpuart_flags.

brief Gets LPUART status flags.

This function gets all LPUART status flags. The flags are returned as the logical OR value of the enumerators ref _lpuart_flags. To check for a specific status, compare the return value with enumerators in the ref _lpuart_flags. For example, to check whether the TX is empty: code if (kLPUART_TxDataRegEmptyFlag & LPUART_GetStatusFlags(LPUART1)) { ... } endcode

param base LPUART peripheral base address. return LPUART status flags which are ORed by the enumerators in the _lpuart_flags.

Definition at line 741 of file fsl_lpuart.c.

◆ LPUART_Init()

status_t LPUART_Init ( LPUART_Type base,
const lpuart_config_t config,
uint32_t  srcClock_Hz 
)

Initializes an LPUART instance with the user configuration structure and the peripheral clock.

This function configures the LPUART module with user-defined settings. Call the LPUART_GetDefaultConfig() function to configure the configuration structure and get the default configuration. The example below shows how to use this API to configure the LPUART.

lpuart_config_t lpuartConfig;
lpuartConfig.baudRate_Bps = 115200U;
lpuartConfig.isMsb = false;
lpuartConfig.stopBitCount = kLPUART_OneStopBit;
lpuartConfig.txFifoWatermark = 0;
lpuartConfig.rxFifoWatermark = 1;
LPUART_Init(LPUART1, &lpuartConfig, 20000000U);
Parameters
baseLPUART peripheral base address.
configPointer to a user-defined configuration structure.
srcClock_HzLPUART clock source frequency in HZ.
Return values
kStatus_LPUART_BaudrateNotSupportBaudrate is not support in current clock source.
kStatus_SuccessLPUART initialize succeed

brief Initializes an LPUART instance with the user configuration structure and the peripheral clock.

This function configures the LPUART module with user-defined settings. Call the LPUART_GetDefaultConfig() function to configure the configuration structure and get the default configuration. The example below shows how to use this API to configure the LPUART. code lpuart_config_t lpuartConfig; lpuartConfig.baudRate_Bps = 115200U; lpuartConfig.parityMode = kLPUART_ParityDisabled; lpuartConfig.dataBitsCount = kLPUART_EightDataBits; lpuartConfig.isMsb = false; lpuartConfig.stopBitCount = kLPUART_OneStopBit; lpuartConfig.txFifoWatermark = 0; lpuartConfig.rxFifoWatermark = 1; LPUART_Init(LPUART1, &lpuartConfig, 20000000U); endcode

param base LPUART peripheral base address. param config Pointer to a user-defined configuration structure. param srcClock_Hz LPUART clock source frequency in HZ. retval kStatus_LPUART_BaudrateNotSupport Baudrate is not support in current clock source. retval kStatus_Success LPUART initialize succeed

Definition at line 243 of file fsl_lpuart.c.

◆ LPUART_ReadBlocking()

status_t LPUART_ReadBlocking ( LPUART_Type base,
uint8_t *  data,
size_t  length 
)

Reads the receiver data register using a blocking method.

This function polls the receiver register, waits for the receiver register full or receiver FIFO has data, and reads data from the TX register.

Parameters
baseLPUART peripheral base address.
dataStart address of the buffer to store the received data.
lengthSize of the buffer.
Return values
kStatus_LPUART_RxHardwareOverrunReceiver overrun happened while receiving data.
kStatus_LPUART_NoiseErrorNoise error happened while receiving data.
kStatus_LPUART_FramingErrorFraming error happened while receiving data.
kStatus_LPUART_ParityErrorParity error happened while receiving data.
kStatus_LPUART_TimeoutTransmission timed out and was aborted.
kStatus_SuccessSuccessfully received all data.

brief Reads the receiver data register using a blocking method.

This function polls the receiver register, waits for the receiver register full or receiver FIFO has data, and reads data from the TX register.

param base LPUART peripheral base address. param data Start address of the buffer to store the received data. param length Size of the buffer. retval kStatus_LPUART_RxHardwareOverrun Receiver overrun happened while receiving data. retval kStatus_LPUART_NoiseError Noise error happened while receiving data. retval kStatus_LPUART_FramingError Framing error happened while receiving data. retval kStatus_LPUART_ParityError Parity error happened while receiving data. retval kStatus_LPUART_Timeout Transmission timed out and was aborted. retval kStatus_Success Successfully received all data.

Definition at line 890 of file fsl_lpuart.c.

◆ LPUART_ReadByte()

static uint8_t LPUART_ReadByte ( LPUART_Type base)
inlinestatic

Reads the receiver register.

This function reads data from the receiver register directly. The upper layer must ensure that the receiver register is full or that the RX FIFO has data before calling this function.

Parameters
baseLPUART peripheral base address.
Returns
Data read from data register.

Definition at line 606 of file fsl_lpuart.h.

◆ LPUART_SetBaudRate()

status_t LPUART_SetBaudRate ( LPUART_Type base,
uint32_t  baudRate_Bps,
uint32_t  srcClock_Hz 
)

Sets the LPUART instance baudrate.

This function configures the LPUART module baudrate. This function is used to update the LPUART module baudrate after the LPUART module is initialized by the LPUART_Init.

LPUART_SetBaudRate(LPUART1, 115200U, 20000000U);
Parameters
baseLPUART peripheral base address.
baudRate_BpsLPUART baudrate to be set.
srcClock_HzLPUART clock source frequency in HZ.
Return values
kStatus_LPUART_BaudrateNotSupportBaudrate is not supported in the current clock source.
kStatus_SuccessSet baudrate succeeded.

brief Sets the LPUART instance baudrate.

This function configures the LPUART module baudrate. This function is used to update the LPUART module baudrate after the LPUART module is initialized by the LPUART_Init. code LPUART_SetBaudRate(LPUART1, 115200U, 20000000U); endcode

param base LPUART peripheral base address. param baudRate_Bps LPUART baudrate to be set. param srcClock_Hz LPUART clock source frequency in HZ. retval kStatus_LPUART_BaudrateNotSupport Baudrate is not supported in the current clock source. retval kStatus_Success Set baudrate succeeded.

Definition at line 564 of file fsl_lpuart.c.

◆ LPUART_TransferAbortReceive()

void LPUART_TransferAbortReceive ( LPUART_Type base,
lpuart_handle_t handle 
)

Aborts the interrupt-driven data receiving.

This function aborts the interrupt-driven data receiving. The user can get the remainBytes to find out how many bytes not received yet.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.

brief Aborts the interrupt-driven data receiving.

This function aborts the interrupt-driven data receiving. The user can get the remainBytes to find out how many bytes not received yet.

param base LPUART peripheral base address. param handle LPUART handle pointer.

Definition at line 1383 of file fsl_lpuart.c.

◆ LPUART_TransferAbortSend()

void LPUART_TransferAbortSend ( LPUART_Type base,
lpuart_handle_t handle 
)

Aborts the interrupt-driven data transmit.

This function aborts the interrupt driven data sending. The user can get the remainBtyes to find out how many bytes are not sent out.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.

brief Aborts the interrupt-driven data transmit.

This function aborts the interrupt driven data sending. The user can get the remainBtyes to find out how many bytes are not sent out.

param base LPUART peripheral base address. param handle LPUART handle pointer.

Definition at line 1175 of file fsl_lpuart.c.

◆ LPUART_TransferCreateHandle()

void LPUART_TransferCreateHandle ( LPUART_Type base,
lpuart_handle_t handle,
lpuart_transfer_callback_t  callback,
void *  userData 
)

Initializes the LPUART handle.

This function initializes the LPUART handle, which can be used for other LPUART transactional APIs. Usually, for a specified LPUART instance, call this API once to get the initialized handle.

The LPUART driver supports the "background" receiving, which means that user can set up an RX ring buffer optionally. Data received is stored into the ring buffer even when the user doesn't call the LPUART_TransferReceiveNonBlocking() API. If there is already data received in the ring buffer, the user can get the received data from the ring buffer directly. The ring buffer is disabled if passing NULL as ringBuffer.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
callbackCallback function.
userDataUser data.

brief Initializes the LPUART handle.

This function initializes the LPUART handle, which can be used for other LPUART transactional APIs. Usually, for a specified LPUART instance, call this API once to get the initialized handle.

The LPUART driver supports the "background" receiving, which means that user can set up an RX ring buffer optionally. Data received is stored into the ring buffer even when the user doesn't call the LPUART_TransferReceiveNonBlocking() API. If there is already data received in the ring buffer, the user can get the received data from the ring buffer directly. The ring buffer is disabled if passing NULL as p ringBuffer.

param base LPUART peripheral base address. param handle LPUART handle pointer. param callback Callback function. param userData User data.

Definition at line 1009 of file fsl_lpuart.c.

◆ LPUART_TransferGetReceiveCount()

status_t LPUART_TransferGetReceiveCount ( LPUART_Type base,
lpuart_handle_t handle,
uint32_t *  count 
)

Gets the number of bytes that have been received.

This function gets the number of bytes that have been received.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
countReceive bytes count.
Return values
kStatus_NoTransferInProgressNo receive in progress.
kStatus_InvalidArgumentParameter is invalid.
kStatus_SuccessGet successfully through the parameter count;

brief Gets the number of bytes that have been received.

This function gets the number of bytes that have been received.

param base LPUART peripheral base address. param handle LPUART handle pointer. param count Receive bytes count. retval kStatus_NoTransferInProgress No receive in progress. retval kStatus_InvalidArgument Parameter is invalid. retval kStatus_Success Get successfully through the parameter count;

Definition at line 1412 of file fsl_lpuart.c.

◆ LPUART_TransferGetRxRingBufferLength()

size_t LPUART_TransferGetRxRingBufferLength ( LPUART_Type base,
lpuart_handle_t handle 
)

Get the length of received data in RX ring buffer.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
Returns
Length of received data in RX ring buffer.

brief Get the length of received data in RX ring buffer.

userData handle LPUART handle pointer. return Length of received data in RX ring buffer.

Definition at line 137 of file fsl_lpuart.c.

◆ LPUART_TransferGetSendCount()

status_t LPUART_TransferGetSendCount ( LPUART_Type base,
lpuart_handle_t handle,
uint32_t *  count 
)

Gets the number of bytes that have been sent out to bus.

This function gets the number of bytes that have been sent out to bus by an interrupt method.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
countSend bytes count.
Return values
kStatus_NoTransferInProgressNo send in progress.
kStatus_InvalidArgumentParameter is invalid.
kStatus_SuccessGet successfully through the parameter count;

brief Gets the number of bytes that have been sent out to bus.

This function gets the number of bytes that have been sent out to bus by an interrupt method.

param base LPUART peripheral base address. param handle LPUART handle pointer. param count Send bytes count. retval kStatus_NoTransferInProgress No send in progress. retval kStatus_InvalidArgument Parameter is invalid. retval kStatus_Success Get successfully through the parameter count;

Definition at line 1198 of file fsl_lpuart.c.

◆ LPUART_TransferHandleErrorIRQ()

void LPUART_TransferHandleErrorIRQ ( LPUART_Type base,
lpuart_handle_t handle 
)

LPUART Error IRQ handle function.

This function handles the LPUART error IRQ request.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.

brief LPUART Error IRQ handle function.

This function handles the LPUART error IRQ request.

param base LPUART peripheral base address. param handle LPUART handle pointer.

Definition at line 1675 of file fsl_lpuart.c.

◆ LPUART_TransferHandleIRQ()

void LPUART_TransferHandleIRQ ( LPUART_Type base,
lpuart_handle_t handle 
)

LPUART IRQ handle function.

This function handles the LPUART transmit and receive IRQ request.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.

brief LPUART IRQ handle function.

This function handles the LPUART transmit and receive IRQ request.

param base LPUART peripheral base address. param handle LPUART handle pointer.

Definition at line 1440 of file fsl_lpuart.c.

◆ LPUART_TransferReceiveNonBlocking()

status_t LPUART_TransferReceiveNonBlocking ( LPUART_Type base,
lpuart_handle_t handle,
lpuart_transfer_t xfer,
size_t *  receivedBytes 
)

Receives a buffer of data using the interrupt method.

This function receives data using an interrupt method. This is a non-blocking function which returns without waiting to ensure that all data are received. If the RX ring buffer is used and not empty, the data in the ring buffer is copied and the parameter receivedBytes shows how many bytes are copied from the ring buffer. After copying, if the data in the ring buffer is not enough for read, the receive request is saved by the LPUART driver. When the new data arrives, the receive request is serviced first. When all data is received, the LPUART driver notifies the upper layer through a callback function and passes a status parameter kStatus_UART_RxIdle. For example, the upper layer needs 10 bytes but there are only 5 bytes in ring buffer. The 5 bytes are copied to xfer->data, which returns with the parameter receivedBytes set to 5. For the remaining 5 bytes, the newly arrived data is saved from xfer->data[5]. When 5 bytes are received, the LPUART driver notifies the upper layer. If the RX ring buffer is not enabled, this function enables the RX and RX interrupt to receive data to xfer->data. When all data is received, the upper layer is notified.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
xferLPUART transfer structure, see uart_transfer_t.
receivedBytesBytes received from the ring buffer directly.
Return values
kStatus_SuccessSuccessfully queue the transfer into the transmit queue.
kStatus_LPUART_RxBusyPrevious receive request is not finished.
kStatus_InvalidArgumentInvalid argument.

brief Receives a buffer of data using the interrupt method.

This function receives data using an interrupt method. This is a non-blocking function which returns without waiting to ensure that all data are received. If the RX ring buffer is used and not empty, the data in the ring buffer is copied and the parameter p receivedBytes shows how many bytes are copied from the ring buffer. After copying, if the data in the ring buffer is not enough for read, the receive request is saved by the LPUART driver. When the new data arrives, the receive request is serviced first. When all data is received, the LPUART driver notifies the upper layer through a callback function and passes a status parameter ref kStatus_UART_RxIdle. For example, the upper layer needs 10 bytes but there are only 5 bytes in ring buffer. The 5 bytes are copied to xfer->data, which returns with the parameter p receivedBytes set to 5. For the remaining 5 bytes, the newly arrived data is saved from xfer->data[5]. When 5 bytes are received, the LPUART driver notifies the upper layer. If the RX ring buffer is not enabled, this function enables the RX and RX interrupt to receive data to xfer->data. When all data is received, the upper layer is notified.

param base LPUART peripheral base address. param handle LPUART handle pointer. param xfer LPUART transfer structure, see #uart_transfer_t. param receivedBytes Bytes received from the ring buffer directly. retval kStatus_Success Successfully queue the transfer into the transmit queue. retval kStatus_LPUART_RxBusy Previous receive request is not finished. retval kStatus_InvalidArgument Invalid argument.

Definition at line 1256 of file fsl_lpuart.c.

◆ LPUART_TransferSendNonBlocking()

status_t LPUART_TransferSendNonBlocking ( LPUART_Type base,
lpuart_handle_t handle,
lpuart_transfer_t xfer 
)

Transmits a buffer of data using the interrupt method.

This function send data using an interrupt method. This is a non-blocking function, which returns directly without waiting for all data written to the transmitter register. When all data is written to the TX register in the ISR, the LPUART driver calls the callback function and passes the kStatus_LPUART_TxIdle as status parameter.

Note
The kStatus_LPUART_TxIdle is passed to the upper layer when all data are written to the TX register. However, there is no check to ensure that all the data sent out. Before disabling the TX, check the kLPUART_TransmissionCompleteFlag to ensure that the transmit is finished.
Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
xferLPUART transfer structure, see lpuart_transfer_t.
Return values
kStatus_SuccessSuccessfully start the data transmission.
kStatus_LPUART_TxBusyPrevious transmission still not finished, data not all written to the TX register.
kStatus_InvalidArgumentInvalid argument.

brief Transmits a buffer of data using the interrupt method.

This function send data using an interrupt method. This is a non-blocking function, which returns directly without waiting for all data written to the transmitter register. When all data is written to the TX register in the ISR, the LPUART driver calls the callback function and passes the ref kStatus_LPUART_TxIdle as status parameter.

note The kStatus_LPUART_TxIdle is passed to the upper layer when all data are written to the TX register. However, there is no check to ensure that all the data sent out. Before disabling the TX, check the kLPUART_TransmissionCompleteFlag to ensure that the transmit is finished.

param base LPUART peripheral base address. param handle LPUART handle pointer. param xfer LPUART transfer structure, see lpuart_transfer_t. retval kStatus_Success Successfully start the data transmission. retval kStatus_LPUART_TxBusy Previous transmission still not finished, data not all written to the TX register. retval kStatus_InvalidArgument Invalid argument.

Definition at line 1136 of file fsl_lpuart.c.

◆ LPUART_TransferStartRingBuffer()

void LPUART_TransferStartRingBuffer ( LPUART_Type base,
lpuart_handle_t handle,
uint8_t *  ringBuffer,
size_t  ringBufferSize 
)

Sets up the RX ring buffer.

This function sets up the RX ring buffer to a specific UART handle.

When the RX ring buffer is used, data received is stored into the ring buffer even when the user doesn't call the UART_TransferReceiveNonBlocking() API. If there is already data received in the ring buffer, the user can get the received data from the ring buffer directly.

Note
When using RX ring buffer, one byte is reserved for internal use. In other words, if ringBufferSize is 32, then only 31 bytes are used for saving data.
Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.
ringBufferStart address of ring buffer for background receiving. Pass NULL to disable the ring buffer.
ringBufferSizesize of the ring buffer.

brief Sets up the RX ring buffer.

This function sets up the RX ring buffer to a specific UART handle.

When the RX ring buffer is used, data received is stored into the ring buffer even when the user doesn't call the UART_TransferReceiveNonBlocking() API. If there is already data received in the ring buffer, the user can get the received data from the ring buffer directly.

note When using RX ring buffer, one byte is reserved for internal use. In other words, if p ringBufferSize is 32, then only 31 bytes are used for saving data.

param base LPUART peripheral base address. param handle LPUART handle pointer. param ringBuffer Start address of ring buffer for background receiving. Pass NULL to disable the ring buffer. param ringBufferSize size of the ring buffer.

Definition at line 1074 of file fsl_lpuart.c.

◆ LPUART_TransferStopRingBuffer()

void LPUART_TransferStopRingBuffer ( LPUART_Type base,
lpuart_handle_t handle 
)

Aborts the background transfer and uninstalls the ring buffer.

This function aborts the background transfer and uninstalls the ring buffer.

Parameters
baseLPUART peripheral base address.
handleLPUART handle pointer.

brief Aborts the background transfer and uninstalls the ring buffer.

This function aborts the background transfer and uninstalls the ring buffer.

param base LPUART peripheral base address. param handle LPUART handle pointer.

Definition at line 1101 of file fsl_lpuart.c.

◆ LPUART_WriteBlocking()

status_t LPUART_WriteBlocking ( LPUART_Type base,
const uint8_t *  data,
size_t  length 
)

Writes to the transmitter register using a blocking method.

This function polls the transmitter register, first waits for the register to be empty or TX FIFO to have room, and writes data to the transmitter buffer, then waits for the dat to be sent out to the bus.

Parameters
baseLPUART peripheral base address.
dataStart address of the data to write.
lengthSize of the data to write.
Return values
kStatus_LPUART_TimeoutTransmission timed out and was aborted.
kStatus_SuccessSuccessfully wrote all data.

brief Writes to the transmitter register using a blocking method.

This function polls the transmitter register, first waits for the register to be empty or TX FIFO to have room, and writes data to the transmitter buffer, then waits for the data to be sent out to bus.

param base LPUART peripheral base address. param data Start address of the data to write. param length Size of the data to write. retval kStatus_LPUART_Timeout Transmission timed out and was aborted. retval kStatus_Success Successfully wrote all data.

Definition at line 825 of file fsl_lpuart.c.

◆ LPUART_WriteByte()

static void LPUART_WriteByte ( LPUART_Type base,
uint8_t  data 
)
inlinestatic

Writes to the transmitter register.

This function writes data to the transmitter register directly. The upper layer must ensure that the TX register is empty or that the TX FIFO has room before calling this function.

Parameters
baseLPUART peripheral base address.
dataData write to the TX register.

Definition at line 592 of file fsl_lpuart.h.

Variable Documentation

◆ baudRate_Bps

uint32_t _lpuart_config::baudRate_Bps

LPUART baud rate

Definition at line 196 of file fsl_lpuart.h.

◆ callback

lpuart_transfer_callback_t _lpuart_handle::callback

Callback function.

Definition at line 247 of file fsl_lpuart.h.

◆ data

uint8_t* _lpuart_transfer::data

The buffer of data to be transfer.

Definition at line 222 of file fsl_lpuart.h.

◆ dataBitsCount

lpuart_data_bits_t _lpuart_config::dataBitsCount

Data bits count, eight (default), seven

Definition at line 198 of file fsl_lpuart.h.

◆ dataSize

size_t _lpuart_transfer::dataSize

The byte count to be transfer.

Definition at line 223 of file fsl_lpuart.h.

◆ enableRx

bool _lpuart_config::enableRx

Enable RX

Definition at line 216 of file fsl_lpuart.h.

◆ enableTx

bool _lpuart_config::enableTx

Enable TX

Definition at line 215 of file fsl_lpuart.h.

◆ isMsb

bool _lpuart_config::isMsb

Data bits order, LSB (default), MSB

Definition at line 199 of file fsl_lpuart.h.

◆ parityMode

lpuart_parity_mode_t _lpuart_config::parityMode

Parity mode, disabled (default), even, odd

Definition at line 197 of file fsl_lpuart.h.

◆ rxData

uint8_t* volatile _lpuart_handle::rxData

Address of remaining data to receive.

Definition at line 238 of file fsl_lpuart.h.

◆ rxDataSize

volatile size_t _lpuart_handle::rxDataSize

Size of the remaining data to receive.

Definition at line 239 of file fsl_lpuart.h.

◆ rxDataSizeAll

size_t _lpuart_handle::rxDataSizeAll

Size of the data to receive.

Definition at line 240 of file fsl_lpuart.h.

◆ rxIdleConfig

lpuart_idle_config_t _lpuart_config::rxIdleConfig

RX IDLE configuration.

Definition at line 214 of file fsl_lpuart.h.

◆ rxIdleType

lpuart_idle_type_select_t _lpuart_config::rxIdleType

RX IDLE type.

Definition at line 213 of file fsl_lpuart.h.

◆ rxRingBuffer

uint8_t* _lpuart_handle::rxRingBuffer

Start address of the receiver ring buffer.

Definition at line 242 of file fsl_lpuart.h.

◆ rxRingBufferHead

volatile uint16_t _lpuart_handle::rxRingBufferHead

Index for the driver to store received data into ring buffer.

Definition at line 244 of file fsl_lpuart.h.

◆ rxRingBufferSize

size_t _lpuart_handle::rxRingBufferSize

Size of the ring buffer.

Definition at line 243 of file fsl_lpuart.h.

◆ rxRingBufferTail

volatile uint16_t _lpuart_handle::rxRingBufferTail

Index for the user to get data from the ring buffer.

Definition at line 245 of file fsl_lpuart.h.

◆ rxState

volatile uint8_t _lpuart_handle::rxState

RX transfer state.

Definition at line 251 of file fsl_lpuart.h.

◆ txData

uint8_t* volatile _lpuart_handle::txData

Address of remaining data to send.

Definition at line 235 of file fsl_lpuart.h.

◆ txDataSize

volatile size_t _lpuart_handle::txDataSize

Size of the remaining data to send.

Definition at line 236 of file fsl_lpuart.h.

◆ txDataSizeAll

size_t _lpuart_handle::txDataSizeAll

Size of the data to send out.

Definition at line 237 of file fsl_lpuart.h.

◆ txState

volatile uint8_t _lpuart_handle::txState

TX transfer state.

Definition at line 250 of file fsl_lpuart.h.

◆ userData

void* _lpuart_handle::userData

LPUART callback function parameter.

Definition at line 248 of file fsl_lpuart.h.

kLPUART_EightDataBits
@ kLPUART_EightDataBits
Definition: fsl_lpuart.h:67
_lpuart_config::dataBitsCount
lpuart_data_bits_t dataBitsCount
Definition: fsl_lpuart.h:198
LPUART_SetBaudRate
status_t LPUART_SetBaudRate(LPUART_Type *base, uint32_t baudRate_Bps, uint32_t srcClock_Hz)
Sets the LPUART instance baudrate.
Definition: fsl_lpuart.c:564
_lpuart_config::parityMode
lpuart_parity_mode_t parityMode
Definition: fsl_lpuart.h:197
kLPUART_TxDataRegEmptyFlag
@ kLPUART_TxDataRegEmptyFlag
Definition: fsl_lpuart.h:151
LPUART_EnableInterrupts
void LPUART_EnableInterrupts(LPUART_Type *base, uint32_t mask)
Enables LPUART interrupts according to a provided mask.
Definition: fsl_lpuart.c:657
_lpuart_config::isMsb
bool isMsb
Definition: fsl_lpuart.h:199
kLPUART_OneStopBit
@ kLPUART_OneStopBit
Definition: fsl_lpuart.h:76
LPUART_DisableInterrupts
void LPUART_DisableInterrupts(LPUART_Type *base, uint32_t mask)
Disables LPUART interrupts according to a provided mask.
Definition: fsl_lpuart.c:681
_lpuart_config::baudRate_Bps
uint32_t baudRate_Bps
Definition: fsl_lpuart.h:196
kLPUART_TxDataRegEmptyInterruptEnable
@ kLPUART_TxDataRegEmptyInterruptEnable
Definition: fsl_lpuart.h:130
kLPUART_ParityDisabled
@ kLPUART_ParityDisabled
Definition: fsl_lpuart.h:59
LPUART1
#define LPUART1
Definition: MIMXRT1052.h:27647
LPUART_GetEnabledInterrupts
uint32_t LPUART_GetEnabledInterrupts(LPUART_Type *base)
Gets enabled LPUART interrupts.
Definition: fsl_lpuart.c:712
_lpuart_config
LPUART configuration structure.
Definition: fsl_lpuart.h:194
LPUART_Init
status_t LPUART_Init(LPUART_Type *base, const lpuart_config_t *config, uint32_t srcClock_Hz)
Initializes an LPUART instance with the user configuration structure and the peripheral clock.
Definition: fsl_lpuart.c:243
LPUART_GetStatusFlags
uint32_t LPUART_GetStatusFlags(LPUART_Type *base)
Gets LPUART status flags.
Definition: fsl_lpuart.c:741
kLPUART_RxDataRegFullInterruptEnable
@ kLPUART_RxDataRegFullInterruptEnable
Definition: fsl_lpuart.h:132


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:15:11