This file contains the prototype of UART driver APIs.
Go to the source code of this file.
Data Structures | |
struct | UART_Transaction |
Data structure used with UART_read() and UART_write() More... | |
struct | UART_Params |
UART Parameters. More... | |
struct | UART_Attrs |
UART instance attributes - used during init time. More... | |
struct | UART_Object |
UART driver object. More... | |
struct | UART_Config |
UART global configuration array. More... | |
Macros | |
Transfer Status Code | |
#define | UART_TRANSFER_STATUS_SUCCESS (0U) |
Transaction success. More... | |
#define | UART_TRANSFER_STATUS_TIMEOUT (1U) |
Time out error. More... | |
#define | UART_TRANSFER_STATUS_ERROR_BI (2U) |
Break condition error. More... | |
#define | UART_TRANSFER_STATUS_ERROR_FE (3U) |
Framing error. More... | |
#define | UART_TRANSFER_STATUS_ERROR_PE (4U) |
Parity error. More... | |
#define | UART_TRANSFER_STATUS_ERROR_OE (5U) |
Overrun error. More... | |
#define | UART_TRANSFER_STATUS_CANCELLED (6U) |
Cancelled. More... | |
#define | UART_TRANSFER_STATUS_STARTED (7U) |
Transaction started. More... | |
#define | UART_TRANSFER_STATUS_READ_TIMEOUT (8U) |
Read timeout error. More... | |
#define | UART_TRANSFER_STATUS_ERROR_INUSE (9U) |
UART is currently in use. More... | |
#define | UART_TRANSFER_STATUS_ERROR_OTH (10U) |
Other errors. More... | |
Transfer Mode | |
This determines whether the driver operates synchronously or asynchronously In UART_TRANSFER_MODE_BLOCKING mode UART_read() and UART_write() blocks code execution until the transaction has completed In UART_TRANSFER_MODE_CALLBACK UART_read() and UART_write() does not block code execution and instead calls a UART_CallbackFxn callback function when the transaction has completed | |
#define | UART_TRANSFER_MODE_BLOCKING (0U) |
UART read/write APIs blocks execution. This mode can only be used when called within a Task context. More... | |
#define | UART_TRANSFER_MODE_CALLBACK (1U) |
UART read/write APIs does not block code execution and will call a UART_CallbackFxn. This mode can be used in a Task, Swi, or Hwi context. More... | |
UART Read length | |
This enumeration defines the return modes for UART_read(). UART_READ_RETURN_MODE_FULL unblocks or performs a callback when the read buffer has been filled with the number of bytes passed to UART_read(). UART_READ_RETURN_MODE_PARTIAL unblocks or performs a callback whenever a read timeout error occurs on the UART peripheral. The read timeout occurs if the read FIFO is non-empty and no new data has been received for a specific device/baudrate dependent number of clock cycles. This mode can be used when the exact number of bytes to be read is not known. | |
#define | UART_READ_RETURN_MODE_FULL (0U) |
Unblock/callback when buffer is full. More... | |
#define | UART_READ_RETURN_MODE_PARTIAL (1U) |
Unblock/callback when no new data comes in. More... | |
UART data length | |
#define | UART_LEN_5 (0U) |
#define | UART_LEN_6 (1U) |
#define | UART_LEN_7 (2U) |
#define | UART_LEN_8 (3U) |
UART stop bits | |
#define | UART_STOPBITS_1 (0U) |
#define | UART_STOPBITS_2 (1U) |
UART Parity | |
#define | UART_PARITY_NONE (0x00U) |
#define | UART_PARITY_ODD (0x01U) |
#define | UART_PARITY_EVEN (0x03U) |
#define | UART_PARITY_FORCED0 (0x07U) |
#define | UART_PARITY_FORCED1 (0x05U) |
UART Flow Control Type | |
#define | UART_FCTYPE_NONE (0x00U) |
#define | UART_FCTYPE_HW (0x02U) |
UART Flow Control Params for RX | |
#define | UART_FCPARAM_RXNONE (0x00U) |
#define | UART_FCPARAM_RXXONXOFF_2 (0x01U) |
#define | UART_FCPARAM_RXXONXOFF_1 (0x02U) |
#define | UART_FCPARAM_RXXONXOFF_12 (0x03U) |
#define | UART_FCPARAM_AUTO_RTS (0x40U) |
UART Flow Control Params for TX | |
#define | UART_FCPARAM_TXNONE (0x00U) |
#define | UART_FCPARAM_TXXONXOFF_2 (0x04U) |
#define | UART_FCPARAM_TXXONXOFF_1 (0x08U) |
#define | UART_FCPARAM_TXXONXOFF_12 (0x0CU) |
#define | UART_FCPARAM_AUTO_CTS (0x80U) |
UART RX trigger level | |
#define | UART_RXTRIGLVL_1 (1U) |
#define | UART_RXTRIGLVL_8 (8U) |
#define | UART_RXTRIGLVL_16 (16U) |
#define | UART_RXTRIGLVL_56 (56U) |
#define | UART_RXTRIGLVL_60 (60U) |
UART TX trigger level | |
#define | UART_TXTRIGLVL_1 (1U) |
#define | UART_TXTRIGLVL_8 (8U) |
#define | UART_TXTRIGLVL_16 (16U) |
#define | UART_TXTRIGLVL_32 (32U) |
#define | UART_TXTRIGLVL_56 (56U) |
UART Operational Mode | |
#define | UART_OPER_MODE_16X (0U) |
#define | UART_OPER_MODE_SIR (1U) |
#define | UART_OPER_MODE_16X_AUTO_BAUD (2U) |
#define | UART_OPER_MODE_13X (3U) |
#define | UART_OPER_MODE_MIR (4U) |
#define | UART_OPER_MODE_FIR (5U) |
#define | UART_OPER_MODE_CIR (6U) |
#define | UART_OPER_MODE_DISABLED (7U) |
Values indicating the filled status of TX FIFO | |
#define | UART_TX_FIFO_NOT_FULL |
#define | UART_TX_FIFO_FULL |
Values related to status of Interrupt souces. | |
#define | UART_INTID_MODEM_STAT |
Values pertaining to status of UART Interrupt sources. More... | |
#define | UART_INTID_TX_THRES_REACH |
#define | UART_INTID_RX_THRES_REACH |
#define | UART_INTID_RX_LINE_STAT_ERROR |
#define | UART_INTID_CHAR_TIMEOUT |
#define | UART_INTID_XOFF_SPEC_CHAR_DETECT |
#define | UART_INTID_MODEM_SIG_STATE_CHANGE |
#define | UART_INTR_PENDING (0U) |
Values indicating the UART Interrupt pending status. More... | |
#define | UART_N0_INTR_PENDING (1U) |
Values related to enabling/disabling of Interrupts. | |
#define | UART_INTR_CTS (UART_IER_CTS_IT_MASK) |
Values for enabling/disabling the interrupts of UART. More... | |
#define | UART_INTR_RTS (UART_IER_RTS_IT_MASK) |
#define | UART_INTR_XOFF (UART_IER_XOFF_IT_MASK) |
#define | UART_INTR_SLEEPMODE (UART_IER_SLEEP_MODE_MASK) |
#define | UART_INTR_MODEM_STAT (UART_IER_MODEM_STS_IT_MASK) |
#define | UART_INTR_LINE_STAT (UART_IER_LINE_STS_IT_MASK) |
#define | UART_INTR_THR (UART_IER_THR_IT_MASK) |
#define | UART_INTR_RHR_CTI (UART_IER_RHR_IT_MASK) |
#define | UART_INTR2_RX_EMPTY (UART_IER2_EN_RXFIFO_EMPTY_MASK) |
#define | UART_INTR2_TX_EMPTY (UART_IER2_EN_TXFIFO_EMPTY_MASK) |
Values related to Line Status information. | |
#define | UART_FIFO_PE_FE_BI_DETECTED (UART_LSR_RX_FIFO_STS_MASK) |
Values pertaining to UART Line Status information. More... | |
#define | UART_BREAK_DETECTED_ERROR (UART_LSR_RX_BI_MASK) |
#define | UART_FRAMING_ERROR (UART_LSR_RX_FE_MASK) |
#define | UART_PARITY_ERROR (UART_LSR_RX_PE_MASK) |
#define | UART_OVERRUN_ERROR (UART_LSR_RX_OE_MASK) |
Values related to Register Mode Configuration. | |
#define | UART_REG_CONFIG_MODE_A ((uint32_t) 0x0080) |
Values to be used while switching between register configuration modes. More... | |
#define | UART_REG_CONFIG_MODE_B ((uint32_t) 0x00BF) |
#define | UART_REG_OPERATIONAL_MODE ((uint32_t) 0x007F) |
Typedefs | |
typedef void * | UART_Handle |
A handle that is returned from a UART_open() call. More... | |
typedef void(* | UART_CallbackFxn) (UART_Handle handle, UART_Transaction *transaction) |
The definition of a callback function used by the UART driver when used in UART_TRANSFER_MODE_CALLBACK. More... | |
Functions | |
void | UART_init (void) |
This function initializes the UART module. More... | |
void | UART_deinit (void) |
This function de-initializes the UART module. More... | |
UART_Handle | UART_open (uint32_t index, const UART_Params *prms) |
This function opens a given UART peripheral. More... | |
void | UART_close (UART_Handle handle) |
Function to close a UART peripheral specified by the UART handle. More... | |
int32_t | UART_write (UART_Handle handle, UART_Transaction *trans) |
Function to perform UART write operation. More... | |
int32_t | UART_read (UART_Handle handle, UART_Transaction *trans) |
Function to perform UART read operation. More... | |
int32_t | UART_writeCancel (UART_Handle handle, UART_Transaction *trans) |
Function to perform UART canceling of current write transaction. More... | |
int32_t | UART_readCancel (UART_Handle handle, UART_Transaction *trans) |
Function to perform UART canceling of current read transaction. More... | |
UART_Handle | UART_getHandle (uint32_t index) |
Function to return a open'ed UART handle given a UART instance index. More... | |
static void | UART_Params_init (UART_Params *prms) |
Function to initialize the UART_Params struct to its defaults. More... | |
static void | UART_Transaction_init (UART_Transaction *trans) |
Function to initialize the UART_Transaction struct to its defaults. More... | |
uint32_t | UART_getBaseAddr (UART_Handle handle) |
static void | UART_putChar (uint32_t baseAddr, uint8_t byteTx) |
This API writes a byte to the Transmitter FIFO without checking for the emptiness of the Transmitter FIFO or the Transmitter Shift Register(TSR). More... | |
static uint32_t | UART_getChar (uint32_t baseAddr, uint8_t *pChar) |
This API reads a byte from the Receiver Buffer Register (RBR). It checks once if any character is ready to be read. More... | |
static void | UART_intrEnable (uint32_t baseAddr, uint32_t intrFlag) |
This API enables the specified interrupts in the UART mode of operation. More... | |
static void | UART_intrDisable (uint32_t baseAddr, uint32_t intrFlag) |
This API disables the specified interrupts in the UART mode of operation. More... | |
static void | UART_intr2Enable (uint32_t baseAddr, uint32_t intrFlag) |
This API enables the specified interrupts in the UART mode of operation for IER2. More... | |
static void | UART_intr2Disable (uint32_t baseAddr, uint32_t intrFlag) |
This API disables the specified interrupts in the UART mode of operation for IER2. More... | |
static uint32_t | UART_getIntrIdentityStatus (uint32_t baseAddr) |
This API determines the UART Interrupt Status. More... | |
static uint32_t | UART_getIntr2Status (uint32_t baseAddr) |
This API determines the UART Interrupt Status 2. More... | |
Variables | |
UART_Config | gUartConfig [] |
Externally defined driver configuration array. More... | |
uint32_t | gUartConfigNum |
Externally defined driver configuration array size. More... | |