S32 SDK
lpuart_driver.c File Reference
#include <stddef.h>
#include <stdbool.h>
#include "lpuart_hw_access.h"
#include "lpuart_irq.h"
#include "clock_manager.h"

Go to the source code of this file.

Functions

static status_t LPUART_DRV_StartSendDataUsingInt (uint32_t instance, const uint8_t *txBuff, uint32_t txSize)
 
static void LPUART_DRV_CompleteSendDataUsingInt (uint32_t instance)
 
static status_t LPUART_DRV_StartReceiveDataUsingInt (uint32_t instance, uint8_t *rxBuff, uint32_t rxSize)
 
static void LPUART_DRV_CompleteReceiveDataUsingInt (uint32_t instance)
 
static void LPUART_DRV_PutData (uint32_t instance)
 
static void LPUART_DRV_GetData (uint32_t instance)
 
status_t LPUART_DRV_Init (uint32_t instance, lpuart_state_t *lpuartStatePtr, const lpuart_user_config_t *lpuartUserConfig)
 Initializes an LPUART operation instance. More...
 
status_t LPUART_DRV_Deinit (uint32_t instance)
 Shuts down the LPUART by disabling interrupts and transmitter/receiver. More...
 
uart_callback_t LPUART_DRV_InstallRxCallback (uint32_t instance, uart_callback_t function, void *callbackParam)
 Installs callback function for the LPUART receive. More...
 
uart_callback_t LPUART_DRV_InstallTxCallback (uint32_t instance, uart_callback_t function, void *callbackParam)
 Installs callback function for the LPUART transmit. More...
 
status_t LPUART_DRV_SendDataBlocking (uint32_t instance, const uint8_t *txBuff, uint32_t txSize, uint32_t timeout)
 Sends data out through the LPUART module using a blocking method. More...
 
void LPUART_DRV_SendDataPolling (uint32_t instance, const uint8_t *txBuff, uint32_t txSize)
 Send out multiple bytes of data using polling method. More...
 
status_t LPUART_DRV_SendData (uint32_t instance, const uint8_t *txBuff, uint32_t txSize)
 Sends data out through the LPUART module using a non-blocking method. This enables an a-sync method for transmitting data. When used with a non-blocking receive, the LPUART can perform a full duplex operation. Non-blocking means that the function returns immediately. The application has to get the transmit status to know when the transmit is complete. More...
 
status_t LPUART_DRV_GetTransmitStatus (uint32_t instance, uint32_t *bytesRemaining)
 Returns whether the previous transmit is complete. More...
 
status_t LPUART_DRV_AbortSendingData (uint32_t instance)
 Terminates a non-blocking transmission early. More...
 
status_t LPUART_DRV_ReceiveDataBlocking (uint32_t instance, uint8_t *rxBuff, uint32_t rxSize, uint32_t timeout)
 Gets data from the LPUART module by using a blocking method. Blocking means that the function does not return until the receive is complete. More...
 
status_t LPUART_DRV_ReceiveDataPolling (uint32_t instance, uint8_t *rxBuff, uint32_t rxSize)
 Receive multiple bytes of data using polling method. More...
 
status_t LPUART_DRV_ReceiveData (uint32_t instance, uint8_t *rxBuff, uint32_t rxSize)
 Gets data from the LPUART module by using a non-blocking method. This enables an a-sync method for receiving data. When used with a non-blocking transmission, the LPUART can perform a full duplex operation. Non-blocking means that the function returns immediately. The application has to get the receive status to know when the receive is complete. More...
 
status_t LPUART_DRV_GetReceiveStatus (uint32_t instance, uint32_t *bytesRemaining)
 Returns whether the previous receive is complete. More...
 
status_t LPUART_DRV_AbortReceivingData (uint32_t instance)
 Terminates a non-blocking receive early. More...
 
status_t LPUART_DRV_SetBaudRate (uint32_t instance, uint32_t desiredBaudRate)
 Configures the LPUART baud rate. More...
 
void LPUART_DRV_GetBaudRate (uint32_t instance, uint32_t *configuredBaudRate)
 Returns the LPUART baud rate. More...
 
void LPUART_DRV_IRQHandler (uint32_t instance)
 

Variables

static lpuart_state_ts_lpuartStatePtr [LPUART_INSTANCE_COUNT] = {NULL}
 
static LPUART_Type *const s_lpuartBase [LPUART_INSTANCE_COUNT] = LPUART_BASE_PTRS
 
static const IRQn_Type s_lpuartRxTxIrqId [LPUART_INSTANCE_COUNT] = LPUART_RX_TX_IRQS
 
static const clock_names_t s_lpuartClkNames [LPUART_INSTANCE_COUNT] = LPUART_CLOCK_NAMES
 

Function Documentation

static void LPUART_DRV_CompleteReceiveDataUsingInt ( uint32_t  instance)
static

Definition at line 1311 of file lpuart_driver.c.

static void LPUART_DRV_CompleteSendDataUsingInt ( uint32_t  instance)
static

Definition at line 1134 of file lpuart_driver.c.

static void LPUART_DRV_GetData ( uint32_t  instance)
static

Definition at line 1429 of file lpuart_driver.c.

void LPUART_DRV_IRQHandler ( uint32_t  instance)

Definition at line 929 of file lpuart_driver.c.

static void LPUART_DRV_PutData ( uint32_t  instance)
static

Definition at line 1387 of file lpuart_driver.c.

static status_t LPUART_DRV_StartReceiveDataUsingInt ( uint32_t  instance,
uint8_t *  rxBuff,
uint32_t  rxSize 
)
static

Definition at line 1209 of file lpuart_driver.c.

static status_t LPUART_DRV_StartSendDataUsingInt ( uint32_t  instance,
const uint8_t *  txBuff,
uint32_t  txSize 
)
static

Definition at line 1042 of file lpuart_driver.c.

Variable Documentation

LPUART_Type* const s_lpuartBase[LPUART_INSTANCE_COUNT] = LPUART_BASE_PTRS
static

Definition at line 94 of file lpuart_driver.c.

const clock_names_t s_lpuartClkNames[LPUART_INSTANCE_COUNT] = LPUART_CLOCK_NAMES
static

Definition at line 100 of file lpuart_driver.c.

const IRQn_Type s_lpuartRxTxIrqId[LPUART_INSTANCE_COUNT] = LPUART_RX_TX_IRQS
static

Definition at line 97 of file lpuart_driver.c.

lpuart_state_t* s_lpuartStatePtr[LPUART_INSTANCE_COUNT] = {NULL}
static

Definition at line 91 of file lpuart_driver.c.