## CMSIS USART Driver Data Structures Type Documentation

### _ARM_USART_STATUS

Location: Driver_USART.h:167

USART Status.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | tx_busy | Transmitter busy flag.
uint32_t | rx_busy | Receiver busy flag.
uint32_t | tx_underflow | Transmit data underflow detected (cleared on start of next send operation).
uint32_t | rx_overflow | Receive data overflow detected (cleared on start of next receive operation).
uint32_t | rx_break | Break detected on receive (cleared on start of next receive operation).
uint32_t | rx_framing_error | Framing error detected on receive (cleared on start of next receive operation).
uint32_t | rx_parity_error | Parity error detected on receive (cleared on start of next receive operation).
uint32_t | reserved | (Reserved for future use)

### _ARM_USART_MODEM_STATUS

Location: Driver_USART.h:191

USART Modem Status.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | cts | CTS state: 1=Active, 0=Inactive.
uint32_t | dsr | DSR state: 1=Active, 0=Inactive.
uint32_t | dcd | DCD state: 1=Active, 0=Inactive.
uint32_t | ri | RI state: 1=Active, 0=Inactive.
uint32_t | reserved | (Reserved for future use)

### _ARM_USART_CAPABILITIES

Location: Driver_USART.h:301

USART Device Driver Capabilities.

Data Fields

Type | Name | Description
--- | --- | ---
uint32_t | asynchronous | supports UART (asynchronous) mode.
uint32_t | synchronous_master | supports synchronous master mode.
uint32_t | synchronous_slave | supports synchronous slave mode.
uint32_t | single_wire | supports UART single-wire mode.
uint32_t | irda | supports UART IrDA mode.
uint32_t | smart_card | supports UART smart card mode.
uint32_t | smart_card_clock | Smart card clock generator available.
uint32_t | flow_control_rts | RTS flow control available.
uint32_t | flow_control_cts | CTS flow control available.
uint32_t | event_tx_complete | Transmit completed event: ARM_USART_EVENT_TX_COMPLETE.
uint32_t | event_rx_timeout | Signal receive character timeout event: ARM_USART_EVENT_RX_TIMEOUT.
uint32_t | rts | RTS Line: 0=not available, 1=available.
uint32_t | cts | CTS Line: 0=not available, 1=available.
uint32_t | dtr | DTR Line: 0=not available, 1=available.
uint32_t | dsr | DSR Line: 0=not available, 1=available.
uint32_t | dcd | DCD Line: 0=not available, 1=available.
uint32_t | ri | RI Line: 0=not available, 1=available.
uint32_t | event_cts | Signal CTS change event: ARM_USART_EVENT_CTS.
uint32_t | event_dsr | Signal DSR change event: ARM_USART_EVENT_DSR.
uint32_t | event_dcd | Signal DCD change event: ARM_USART_EVENT_DCD.
uint32_t | event_ri | Signal RI change event: ARM_USART_EVENT_RI.
uint32_t | reserved | Reserved (must be zero).

### _ARM_DRIVER_USART

Location: Driver_USART.h:330

Access structure of the USART Driver.

Data Fields

Type | Name | Description
--- | --- | ---
ARM_DRIVER_VERSION(* | GetVersion)(void) | Pointer to ARM_USART_GetVersion : Get driver version.
ARM_USART_CAPABILITIES(* | GetCapabilities)(void) | Pointer to ARM_USART_GetCapabilities : Get driver capabilities.
int32_t(* | Initialize)(ARM_USART_SignalEvent_t cb_event) | Pointer to ARM_USART_Initialize : Initialize USART Interface.
int32_t(* | Uninitialize)(void) | Pointer to ARM_USART_Uninitialize : De-initialize USART Interface.
int32_t(* | PowerControl)(ARM_POWER_STATE state) | Pointer to ARM_USART_PowerControl : Control USART Interface Power.
int32_t(* | Send)(const void *data, uint32_t num) | Pointer to ARM_USART_Send : Start sending data to USART transmitter.
int32_t(* | Receive)(void *data, uint32_t num) | Pointer to ARM_USART_Receive : Start receiving data from USART receiver.
int32_t(* | Transfer)(const void *data_out, void *data_in, uint32_t num) | Pointer to ARM_USART_Transfer : Start sending/receiving data to/from USART.
uint32_t(* | GetTxCount)(void) | Pointer to ARM_USART_GetTxCount : Get transmitted data count.
uint32_t(* | GetRxCount)(void) | Pointer to ARM_USART_GetRxCount : Get received data count.
int32_t(* | Control)(uint32_t control, uint32_t arg) | Pointer to ARM_USART_Control : Control USART Interface.
ARM_USART_STATUS(* | GetStatus)(void) | Pointer to ARM_USART_GetStatus : Get USART status.
int32_t(* | SetModemControl)(ARM_USART_MODEM_CONTROL control) | Pointer to ARM_USART_SetModemControl : Set USART modem control line state.
ARM_USART_MODEM_STATUS(* | GetModemStatus)(void) | Pointer to ARM_USART_GetModemStatus : Get USART modem status lines state.