UARTE HAL

nRF5 SDK v12.2.0

Hardware access layer for accessing the UARTE peripheral. More...

Enumerations

enum nrf_uarte_task_t {
NRF_UARTE_TASK_STARTRX = offsetof(NRF_UARTE_Type, TASKS_STARTRX),
NRF_UARTE_TASK_STOPRX = offsetof(NRF_UARTE_Type, TASKS_STOPRX),
NRF_UARTE_TASK_STARTTX = offsetof(NRF_UARTE_Type, TASKS_STARTTX),
NRF_UARTE_TASK_STOPTX = offsetof(NRF_UARTE_Type, TASKS_STOPTX),
NRF_UARTE_TASK_FLUSHRX = offsetof(NRF_UARTE_Type, TASKS_FLUSHRX)
}
UARTE tasks. More...
enum nrf_uarte_event_t {
NRF_UARTE_EVENT_CTS = offsetof(NRF_UARTE_Type, EVENTS_CTS),
NRF_UARTE_EVENT_NCTS = offsetof(NRF_UARTE_Type, EVENTS_NCTS),
NRF_UARTE_EVENT_ENDRX = offsetof(NRF_UARTE_Type, EVENTS_ENDRX),
NRF_UARTE_EVENT_ENDTX = offsetof(NRF_UARTE_Type, EVENTS_ENDTX),
NRF_UARTE_EVENT_ERROR = offsetof(NRF_UARTE_Type, EVENTS_ERROR),
NRF_UARTE_EVENT_RXTO = offsetof(NRF_UARTE_Type, EVENTS_RXTO),
NRF_UARTE_EVENT_RXSTARTED = offsetof(NRF_UARTE_Type, EVENTS_RXSTARTED),
NRF_UARTE_EVENT_TXSTARTED = offsetof(NRF_UARTE_Type, EVENTS_TXSTARTED),
NRF_UARTE_EVENT_TXSTOPPED = offsetof(NRF_UARTE_Type, EVENTS_TXSTOPPED)
}
UARTE events. More...
enum nrf_uarte_short_t {
NRF_UARTE_SHORT_ENDRX_STARTRX = UARTE_SHORTS_ENDRX_STARTRX_Msk,
NRF_UARTE_SHORT_ENDRX_STOPRX = UARTE_SHORTS_ENDRX_STOPRX_Msk
}
Types of UARTE shortcuts. More...
enum nrf_uarte_int_mask_t {
NRF_UARTE_INT_CTS_MASK = UARTE_INTENSET_CTS_Msk,
NRF_UARTE_INT_NCTSRX_MASK = UARTE_INTENSET_NCTS_Msk,
NRF_UARTE_INT_ENDRX_MASK = UARTE_INTENSET_ENDRX_Msk,
NRF_UARTE_INT_ENDTX_MASK = UARTE_INTENSET_ENDTX_Msk,
NRF_UARTE_INT_ERROR_MASK = UARTE_INTENSET_ERROR_Msk,
NRF_UARTE_INT_RXTO_MASK = UARTE_INTENSET_RXTO_Msk,
NRF_UARTE_INT_RXSTARTED_MASK = UARTE_INTENSET_RXSTARTED_Msk,
NRF_UARTE_INT_TXSTARTED_MASK = UARTE_INTENSET_TXSTARTED_Msk,
NRF_UARTE_INT_TXSTOPPED_MASK = UARTE_INTENSET_TXSTOPPED_Msk
}
UARTE interrupts. More...
enum nrf_uarte_baudrate_t {
NRF_UARTE_BAUDRATE_1200 = UARTE_BAUDRATE_BAUDRATE_Baud1200,
NRF_UARTE_BAUDRATE_2400 = UARTE_BAUDRATE_BAUDRATE_Baud2400,
NRF_UARTE_BAUDRATE_4800 = UARTE_BAUDRATE_BAUDRATE_Baud4800,
NRF_UARTE_BAUDRATE_9600 = UARTE_BAUDRATE_BAUDRATE_Baud9600,
NRF_UARTE_BAUDRATE_14400 = UARTE_BAUDRATE_BAUDRATE_Baud14400,
NRF_UARTE_BAUDRATE_19200 = UARTE_BAUDRATE_BAUDRATE_Baud19200,
NRF_UARTE_BAUDRATE_28800 = UARTE_BAUDRATE_BAUDRATE_Baud28800,
NRF_UARTE_BAUDRATE_38400 = UARTE_BAUDRATE_BAUDRATE_Baud38400,
NRF_UARTE_BAUDRATE_57600 = UARTE_BAUDRATE_BAUDRATE_Baud57600,
NRF_UARTE_BAUDRATE_76800 = UARTE_BAUDRATE_BAUDRATE_Baud76800,
NRF_UARTE_BAUDRATE_115200 = UARTE_BAUDRATE_BAUDRATE_Baud115200,
NRF_UARTE_BAUDRATE_230400 = UARTE_BAUDRATE_BAUDRATE_Baud230400,
NRF_UARTE_BAUDRATE_250000 = UARTE_BAUDRATE_BAUDRATE_Baud250000,
NRF_UARTE_BAUDRATE_460800 = UARTE_BAUDRATE_BAUDRATE_Baud460800,
NRF_UARTE_BAUDRATE_921600 = UARTE_BAUDRATE_BAUDRATE_Baud921600,
NRF_UARTE_BAUDRATE_1000000 = UARTE_BAUDRATE_BAUDRATE_Baud1M
}
Baudrates supported by UARTE. More...
enum nrf_uarte_error_mask_t {
NRF_UARTE_ERROR_OVERRUN_MASK = UARTE_ERRORSRC_OVERRUN_Msk,
NRF_UARTE_ERROR_PARITY_MASK = UARTE_ERRORSRC_PARITY_Msk,
NRF_UARTE_ERROR_FRAMING_MASK = UARTE_ERRORSRC_FRAMING_Msk,
NRF_UARTE_ERROR_BREAK_MASK = UARTE_ERRORSRC_BREAK_Msk
}
Types of UARTE error masks. More...
enum nrf_uarte_parity_t {
NRF_UARTE_PARITY_EXCLUDED = UARTE_CONFIG_PARITY_Excluded << UARTE_CONFIG_PARITY_Pos,
NRF_UARTE_PARITY_INCLUDED = UARTE_CONFIG_PARITY_Included << UARTE_CONFIG_PARITY_Pos
}
Types of UARTE parity modes. More...
enum nrf_uarte_hwfc_t {
NRF_UARTE_HWFC_DISABLED = UARTE_CONFIG_HWFC_Disabled << UARTE_CONFIG_HWFC_Pos,
NRF_UARTE_HWFC_ENABLED = UARTE_CONFIG_HWFC_Enabled << UARTE_CONFIG_HWFC_Pos
}
Types of UARTE flow control modes. More...

Functions

__STATIC_INLINE void nrf_uarte_event_clear (NRF_UARTE_Type *p_reg, nrf_uarte_event_t event)
Function for clearing a specific UARTE event. More...
__STATIC_INLINE bool nrf_uarte_event_check (NRF_UARTE_Type *p_reg, nrf_uarte_event_t event)
Function for checking the state of a specific UARTE event. More...
__STATIC_INLINE uint32_t nrf_uarte_event_address_get (NRF_UARTE_Type *p_reg, nrf_uarte_event_t event)
Function for returning the address of a specific UARTE event register. More...
__STATIC_INLINE void nrf_uarte_shorts_enable (NRF_UARTE_Type *p_reg, uint32_t shorts_mask)
Function for enabling UARTE shortcuts. More...
__STATIC_INLINE void nrf_uarte_shorts_disable (NRF_UARTE_Type *p_reg, uint32_t shorts_mask)
Function for disabling UARTE shortcuts. More...
__STATIC_INLINE void nrf_uarte_int_enable (NRF_UARTE_Type *p_reg, uint32_t int_mask)
Function for enabling UARTE interrupts. More...
__STATIC_INLINE bool nrf_uarte_int_enable_check (NRF_UARTE_Type *p_reg, nrf_uarte_int_mask_t int_mask)
Function for retrieving the state of a given interrupt. More...
__STATIC_INLINE void nrf_uarte_int_disable (NRF_UARTE_Type *p_reg, uint32_t int_mask)
Function for disabling specific interrupts. More...
__STATIC_INLINE uint32_t nrf_uarte_errorsrc_get_and_clear (NRF_UARTE_Type *p_reg)
Function for getting error source mask. Function is clearing error source flags after reading. More...
__STATIC_INLINE void nrf_uarte_enable (NRF_UARTE_Type *p_reg)
Function for enabling UARTE. More...
__STATIC_INLINE void nrf_uarte_disable (NRF_UARTE_Type *p_reg)
Function for disabling UARTE. More...
__STATIC_INLINE void nrf_uarte_txrx_pins_set (NRF_UARTE_Type *p_reg, uint32_t pseltxd, uint32_t pselrxd)
Function for configuring TX/RX pins. More...
__STATIC_INLINE void nrf_uarte_txrx_pins_disconnect (NRF_UARTE_Type *p_reg)
Function for disconnecting TX/RX pins. More...
__STATIC_INLINE uint32_t nrf_uarte_tx_pin_get (NRF_UARTE_Type *p_reg)
Function for getting TX pin. More...
__STATIC_INLINE uint32_t nrf_uarte_rx_pin_get (NRF_UARTE_Type *p_reg)
Function for getting RX pin. More...
__STATIC_INLINE uint32_t nrf_uarte_rts_pin_get (NRF_UARTE_Type *p_reg)
Function for getting RTS pin. More...
__STATIC_INLINE uint32_t nrf_uarte_cts_pin_get (NRF_UARTE_Type *p_reg)
Function for getting CTS pin. More...
__STATIC_INLINE void nrf_uarte_hwfc_pins_set (NRF_UARTE_Type *p_reg, uint32_t pselrts, uint32_t pselcts)
Function for configuring flow control pins. More...
__STATIC_INLINE void nrf_uarte_hwfc_pins_disconnect (NRF_UARTE_Type *p_reg)
Function for disconnecting flow control pins. More...
__STATIC_INLINE void nrf_uarte_task_trigger (NRF_UARTE_Type *p_reg, nrf_uarte_task_t task)
Function for starting an UARTE task. More...
__STATIC_INLINE uint32_t nrf_uarte_task_address_get (NRF_UARTE_Type *p_reg, nrf_uarte_task_t task)
Function for returning the address of a specific task register. More...
__STATIC_INLINE void nrf_uarte_configure (NRF_UARTE_Type *p_reg, nrf_uarte_parity_t parity, nrf_uarte_hwfc_t hwfc)
Function for configuring UARTE. More...
__STATIC_INLINE void nrf_uarte_baudrate_set (NRF_UARTE_Type *p_reg, nrf_uarte_baudrate_t baudrate)
Function for setting UARTE baudrate. More...
__STATIC_INLINE void nrf_uarte_tx_buffer_set (NRF_UARTE_Type *p_reg, uint8_t const *p_buffer, uint8_t length)
Function for setting the transmit buffer. More...
__STATIC_INLINE uint32_t nrf_uarte_tx_amount_get (NRF_UARTE_Type *p_reg)
Function for getting number of bytes transmitted in the last transaction. More...
__STATIC_INLINE void nrf_uarte_rx_buffer_set (NRF_UARTE_Type *p_reg, uint8_t *p_buffer, uint8_t length)
Function for setting the receive buffer. More...
__STATIC_INLINE uint32_t nrf_uarte_rx_amount_get (NRF_UARTE_Type *p_reg)
Function for getting number of bytes received in the last transaction. More...

Detailed Description

Hardware access layer for accessing the UARTE peripheral.

Enumeration Type Documentation

Baudrates supported by UARTE.

Enumerator
NRF_UARTE_BAUDRATE_1200

1200 baud.

NRF_UARTE_BAUDRATE_2400

2400 baud.

NRF_UARTE_BAUDRATE_4800

4800 baud.

NRF_UARTE_BAUDRATE_9600

9600 baud.

NRF_UARTE_BAUDRATE_14400

14400 baud.

NRF_UARTE_BAUDRATE_19200

19200 baud.

NRF_UARTE_BAUDRATE_28800

28800 baud.

NRF_UARTE_BAUDRATE_38400

38400 baud.

NRF_UARTE_BAUDRATE_57600

57600 baud.

NRF_UARTE_BAUDRATE_76800

76800 baud.

NRF_UARTE_BAUDRATE_115200

115200 baud.

NRF_UARTE_BAUDRATE_230400

230400 baud.

NRF_UARTE_BAUDRATE_250000

250000 baud.

NRF_UARTE_BAUDRATE_460800

460800 baud.

NRF_UARTE_BAUDRATE_921600

921600 baud.

NRF_UARTE_BAUDRATE_1000000

1000000 baud.

Types of UARTE error masks.

Enumerator
NRF_UARTE_ERROR_OVERRUN_MASK

Overrun error.

NRF_UARTE_ERROR_PARITY_MASK

Parity error.

NRF_UARTE_ERROR_FRAMING_MASK

Framing error.

NRF_UARTE_ERROR_BREAK_MASK

Break error.

UARTE events.

Enumerator
NRF_UARTE_EVENT_CTS

CTS is activated.

NRF_UARTE_EVENT_NCTS

CTS is deactivated.

NRF_UARTE_EVENT_ENDRX

Receive buffer is filled up.

NRF_UARTE_EVENT_ENDTX

Last TX byte transmitted.

NRF_UARTE_EVENT_ERROR

Error detected.

NRF_UARTE_EVENT_RXTO

Receiver timeout.

NRF_UARTE_EVENT_RXSTARTED

Receiver has started.

NRF_UARTE_EVENT_TXSTARTED

Transmitter has started.

NRF_UARTE_EVENT_TXSTOPPED

Transmitted stopped.

Types of UARTE flow control modes.

Enumerator
NRF_UARTE_HWFC_DISABLED

HW flow control disabled.

NRF_UARTE_HWFC_ENABLED

HW flow control enabled.

UARTE interrupts.

Enumerator
NRF_UARTE_INT_CTS_MASK

Interrupt on CTS event.

NRF_UARTE_INT_NCTSRX_MASK

Interrupt on NCTS event.

NRF_UARTE_INT_ENDRX_MASK

Interrupt on ENDRX event.

NRF_UARTE_INT_ENDTX_MASK

Interrupt on ENDTX event.

NRF_UARTE_INT_ERROR_MASK

Interrupt on ERROR event.

NRF_UARTE_INT_RXTO_MASK

Interrupt on RXTO event.

NRF_UARTE_INT_RXSTARTED_MASK

Interrupt on RXSTARTED event.

NRF_UARTE_INT_TXSTARTED_MASK

Interrupt on TXSTARTED event.

NRF_UARTE_INT_TXSTOPPED_MASK

Interrupt on TXSTOPPED event.

Types of UARTE parity modes.

Enumerator
NRF_UARTE_PARITY_EXCLUDED

Parity excluded.

NRF_UARTE_PARITY_INCLUDED

Parity included.

Types of UARTE shortcuts.

Enumerator
NRF_UARTE_SHORT_ENDRX_STARTRX

Shortcut between ENDRX event and STARTRX task.

NRF_UARTE_SHORT_ENDRX_STOPRX

Shortcut between ENDRX event and STOPRX task.

UARTE tasks.

Enumerator
NRF_UARTE_TASK_STARTRX

Start UART receiver.

NRF_UARTE_TASK_STOPRX

Stop UART receiver.

NRF_UARTE_TASK_STARTTX

Start UART transmitter.

NRF_UARTE_TASK_STOPTX

Stop UART transmitter.

NRF_UARTE_TASK_FLUSHRX

Flush RX FIFO in RX buffer.

Function Documentation

__STATIC_INLINE void nrf_uarte_baudrate_set ( NRF_UARTE_Type * p_reg ,
nrf_uarte_baudrate_t baudrate
)

Function for setting UARTE baudrate.

Parameters
p_reg Instance.
baudrate Baudrate.
__STATIC_INLINE void nrf_uarte_configure ( NRF_UARTE_Type * p_reg ,
nrf_uarte_parity_t parity ,
nrf_uarte_hwfc_t hwfc
)

Function for configuring UARTE.

Parameters
p_reg Pointer to the peripheral registers structure.
hwfc Hardware flow control. Enabled if true.
parity Parity. Included if true.
__STATIC_INLINE uint32_t nrf_uarte_cts_pin_get ( NRF_UARTE_Type * p_reg )

Function for getting CTS pin.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE void nrf_uarte_disable ( NRF_UARTE_Type * p_reg )

Function for disabling UARTE.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE void nrf_uarte_enable ( NRF_UARTE_Type * p_reg )

Function for enabling UARTE.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE uint32_t nrf_uarte_errorsrc_get_and_clear ( NRF_UARTE_Type * p_reg )

Function for getting error source mask. Function is clearing error source flags after reading.

Parameters
p_reg Pointer to the peripheral registers structure.
Returns
Mask with error source flags.
__STATIC_INLINE uint32_t nrf_uarte_event_address_get ( NRF_UARTE_Type * p_reg ,
nrf_uarte_event_t event
)

Function for returning the address of a specific UARTE event register.

Parameters
[in] p_reg Pointer to the peripheral registers structure.
[in] event Desired event.
Return values
Address of specified event register.
__STATIC_INLINE bool nrf_uarte_event_check ( NRF_UARTE_Type * p_reg ,
nrf_uarte_event_t event
)

Function for checking the state of a specific UARTE event.

Parameters
[in] p_reg Pointer to the peripheral registers structure.
[in] event Event to check.
Return values
True if event is set, False otherwise.
__STATIC_INLINE void nrf_uarte_event_clear ( NRF_UARTE_Type * p_reg ,
nrf_uarte_event_t event
)

Function for clearing a specific UARTE event.

Parameters
[in] p_reg Pointer to the peripheral registers structure.
[in] event Event to clear.
__STATIC_INLINE void nrf_uarte_hwfc_pins_disconnect ( NRF_UARTE_Type * p_reg )

Function for disconnecting flow control pins.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE void nrf_uarte_hwfc_pins_set ( NRF_UARTE_Type * p_reg ,
uint32_t pselrts ,
uint32_t pselcts
)

Function for configuring flow control pins.

Parameters
p_reg Pointer to the peripheral registers structure.
pselrts RTS pin number.
pselcts CTS pin number.
__STATIC_INLINE void nrf_uarte_int_disable ( NRF_UARTE_Type * p_reg ,
uint32_t int_mask
)

Function for disabling specific interrupts.

Parameters
p_reg Instance.
int_mask Interrupts to disable.
__STATIC_INLINE void nrf_uarte_int_enable ( NRF_UARTE_Type * p_reg ,
uint32_t int_mask
)

Function for enabling UARTE interrupts.

Parameters
p_reg Pointer to the peripheral registers structure.
int_mask Interrupts to enable.
__STATIC_INLINE bool nrf_uarte_int_enable_check ( NRF_UARTE_Type * p_reg ,
nrf_uarte_int_mask_t int_mask
)

Function for retrieving the state of a given interrupt.

Parameters
p_reg Pointer to the peripheral registers structure.
int_mask Mask of interrupt to check.
Return values
true If the interrupt is enabled.
false If the interrupt is not enabled.
__STATIC_INLINE uint32_t nrf_uarte_rts_pin_get ( NRF_UARTE_Type * p_reg )

Function for getting RTS pin.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE uint32_t nrf_uarte_rx_amount_get ( NRF_UARTE_Type * p_reg )

Function for getting number of bytes received in the last transaction.

Parameters
[in] p_reg Pointer to the peripheral registers structure.
Return values
Amount of bytes received.
__STATIC_INLINE void nrf_uarte_rx_buffer_set ( NRF_UARTE_Type * p_reg ,
uint8_t * p_buffer ,
uint8_t length
)

Function for setting the receive buffer.

Parameters
[in] p_reg Pointer to the peripheral registers structure.
[in] p_buffer Pointer to the buffer for received data.
[in] length Maximum number of data bytes to receive.
__STATIC_INLINE uint32_t nrf_uarte_rx_pin_get ( NRF_UARTE_Type * p_reg )

Function for getting RX pin.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE void nrf_uarte_shorts_disable ( NRF_UARTE_Type * p_reg ,
uint32_t shorts_mask
)

Function for disabling UARTE shortcuts.

Parameters
p_reg Pointer to the peripheral registers structure.
shorts_mask Shortcuts to disable.
__STATIC_INLINE void nrf_uarte_shorts_enable ( NRF_UARTE_Type * p_reg ,
uint32_t shorts_mask
)

Function for enabling UARTE shortcuts.

Parameters
p_reg Pointer to the peripheral registers structure.
shorts_mask Shortcuts to enable.
__STATIC_INLINE uint32_t nrf_uarte_task_address_get ( NRF_UARTE_Type * p_reg ,
nrf_uarte_task_t task
)

Function for returning the address of a specific task register.

Parameters
p_reg Pointer to the peripheral registers structure.
task Task.
Returns
Task address.
__STATIC_INLINE void nrf_uarte_task_trigger ( NRF_UARTE_Type * p_reg ,
nrf_uarte_task_t task
)

Function for starting an UARTE task.

Parameters
p_reg Pointer to the peripheral registers structure.
task Task.
__STATIC_INLINE uint32_t nrf_uarte_tx_amount_get ( NRF_UARTE_Type * p_reg )

Function for getting number of bytes transmitted in the last transaction.

Parameters
[in] p_reg Instance.
Return values
Amount of bytes transmitted.
__STATIC_INLINE void nrf_uarte_tx_buffer_set ( NRF_UARTE_Type * p_reg ,
uint8_t const * p_buffer ,
uint8_t length
)

Function for setting the transmit buffer.

Parameters
[in] p_reg Instance.
[in] p_buffer Pointer to the buffer with data to send.
[in] length Maximum number of data bytes to transmit.
__STATIC_INLINE uint32_t nrf_uarte_tx_pin_get ( NRF_UARTE_Type * p_reg )

Function for getting TX pin.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE void nrf_uarte_txrx_pins_disconnect ( NRF_UARTE_Type * p_reg )

Function for disconnecting TX/RX pins.

Parameters
p_reg Pointer to the peripheral registers structure.
__STATIC_INLINE void nrf_uarte_txrx_pins_set ( NRF_UARTE_Type * p_reg ,
uint32_t pseltxd ,
uint32_t pselrxd
)

Function for configuring TX/RX pins.

Parameters
p_reg Pointer to the peripheral registers structure.
pseltxd TXD pin number.
pselrxd RXD pin number.