UART HAL
- group nrf_uart_hal
Hardware access layer for managing the UART peripheral.
Defines
-
NRF_UART_HAS_STOP_BITS
Symbol indicating whether UART has configurable number of stop bits.
-
NRF_UART_HAS_PARITY_BIT
Symbol indicating whether UART has parity bit.
-
NRF_UART_PSEL_DISCONNECTED
Pin disconnected value.
Enums
-
enum nrf_uart_task_t
UART tasks.
Values:
-
enumerator NRF_UART_TASK_STARTRX
Task for starting reception.
-
enumerator NRF_UART_TASK_STOPRX
Task for stopping reception.
-
enumerator NRF_UART_TASK_STARTTX
Task for starting transmission.
-
enumerator NRF_UART_TASK_STOPTX
Task for stopping transmission.
-
enumerator NRF_UART_TASK_SUSPEND
Task for suspending UART.
-
enumerator NRF_UART_TASK_STARTRX
-
enum nrf_uart_event_t
UART events.
Values:
-
enumerator NRF_UART_EVENT_CTS
Event from CTS line activation.
-
enumerator NRF_UART_EVENT_NCTS
Event from CTS line deactivation.
-
enumerator NRF_UART_EVENT_RXDRDY
Event from data ready in RXD.
-
enumerator NRF_UART_EVENT_TXDRDY
Event from data sent from TXD.
-
enumerator NRF_UART_EVENT_ERROR
Event from error detection.
-
enumerator NRF_UART_EVENT_RXTO
Event from receiver timeout.
-
enumerator NRF_UART_EVENT_CTS
-
enum nrf_uart_int_mask_t
UART interrupts.
Values:
-
enumerator NRF_UART_INT_MASK_CTS
CTS line activation interrupt.
-
enumerator NRF_UART_INT_MASK_NCTS
CTS line deactivation interrupt.
-
enumerator NRF_UART_INT_MASK_RXDRDY
Data ready in RXD interrupt.
-
enumerator NRF_UART_INT_MASK_TXDRDY
Data sent from TXD interrupt.
-
enumerator NRF_UART_INT_MASK_ERROR
Error detection interrupt.
-
enumerator NRF_UART_INT_MASK_RXTO
Receiver timeout interrupt.
-
enumerator NRF_UART_INT_MASK_CTS
-
enum nrf_uart_baudrate_t
Baudrates supported by UART.
Values:
-
enumerator NRF_UART_BAUDRATE_1200
1200 baud.
-
enumerator NRF_UART_BAUDRATE_2400
2400 baud.
-
enumerator NRF_UART_BAUDRATE_4800
4800 baud.
-
enumerator NRF_UART_BAUDRATE_9600
9600 baud.
-
enumerator NRF_UART_BAUDRATE_14400
14400 baud.
-
enumerator NRF_UART_BAUDRATE_19200
19200 baud.
-
enumerator NRF_UART_BAUDRATE_28800
28800 baud.
-
enumerator NRF_UART_BAUDRATE_31250
31250 baud.
-
enumerator NRF_UART_BAUDRATE_38400
38400 baud.
-
enumerator NRF_UART_BAUDRATE_56000
56000 baud.
-
enumerator NRF_UART_BAUDRATE_57600
57600 baud.
-
enumerator NRF_UART_BAUDRATE_76800
76800 baud.
-
enumerator NRF_UART_BAUDRATE_115200
115200 baud.
-
enumerator NRF_UART_BAUDRATE_230400
230400 baud.
-
enumerator NRF_UART_BAUDRATE_250000
250000 baud.
-
enumerator NRF_UART_BAUDRATE_460800
460800 baud.
-
enumerator NRF_UART_BAUDRATE_921600
921600 baud.
-
enumerator NRF_UART_BAUDRATE_1000000
1000000 baud.
-
enumerator NRF_UART_BAUDRATE_1200
-
enum nrf_uart_error_mask_t
Types of UART error masks.
Values:
-
enumerator NRF_UART_ERROR_OVERRUN_MASK
Overrun error.
-
enumerator NRF_UART_ERROR_PARITY_MASK
Parity error.
-
enumerator NRF_UART_ERROR_FRAMING_MASK
Framing error.
-
enumerator NRF_UART_ERROR_BREAK_MASK
Break error.
-
enumerator NRF_UART_ERROR_OVERRUN_MASK
-
enum nrf_uart_parity_t
Types of UART parity modes.
Values:
-
enumerator NRF_UART_PARITY_EXCLUDED
Parity excluded.
-
enumerator NRF_UART_PARITY_INCLUDED
Parity included.
-
enumerator NRF_UART_PARITY_EXCLUDED
-
enum nrf_uart_hwfc_t
Types of UART flow control modes.
Values:
-
enumerator NRF_UART_HWFC_DISABLED
Hardware flow control disabled.
-
enumerator NRF_UART_HWFC_ENABLED
Hardware flow control enabled.
-
enumerator NRF_UART_HWFC_DISABLED
Functions
-
NRF_STATIC_INLINE void nrf_uart_event_clear(NRF_UART_Type *p_reg, nrf_uart_event_t event)
Function for clearing the specified UART event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to clear.
-
NRF_STATIC_INLINE bool nrf_uart_event_check(NRF_UART_Type const *p_reg, nrf_uart_event_t event)
Function for retrieving the state of the UART event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to be checked.
- Return values:
true – The event has been generated.
false – The event has not been generated.
-
NRF_STATIC_INLINE uint32_t nrf_uart_event_address_get(NRF_UART_Type const *p_reg, nrf_uart_event_t event)
Function for returning the address of the specified UART event register.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Desired event.
- Returns:
Address of the specified event register.
-
NRF_STATIC_INLINE void nrf_uart_int_enable(NRF_UART_Type *p_reg, uint32_t mask)
Function for enabling the specified interrupt.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be enabled. Use nrf_uart_int_mask_t values for bit masking.
-
NRF_STATIC_INLINE uint32_t nrf_uart_int_enable_check(NRF_UART_Type const *p_reg, uint32_t mask)
Function for checking if the specified interrupts are enabled.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be checked. Use nrf_uart_int_mask_t values for bit masking.
- Returns:
Mask of enabled interrupts.
-
NRF_STATIC_INLINE void nrf_uart_int_disable(NRF_UART_Type *p_reg, uint32_t mask)
Function for disabling the specified interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Mask of interrupts to be disabled. Use nrf_uart_int_mask_t values for bit masking.
-
NRF_STATIC_INLINE uint32_t nrf_uart_errorsrc_get_and_clear(NRF_UART_Type *p_reg)
Function for getting error source mask. Function is clearing error source flags after reading.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Mask with error source flags.
-
NRF_STATIC_INLINE void nrf_uart_enable(NRF_UART_Type *p_reg)
Function for enabling UART.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
NRF_STATIC_INLINE void nrf_uart_disable(NRF_UART_Type *p_reg)
Function for disabling UART.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
NRF_STATIC_INLINE void nrf_uart_txrx_pins_set(NRF_UART_Type *p_reg, uint32_t pseltxd, uint32_t pselrxd)
Function for configuring TX/RX pins.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
pseltxd – [in] TXD pin number.
pselrxd – [in] RXD pin number.
-
NRF_STATIC_INLINE void nrf_uart_txrx_pins_disconnect(NRF_UART_Type *p_reg)
Function for disconnecting TX/RX pins.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
NRF_STATIC_INLINE uint32_t nrf_uart_tx_pin_get(NRF_UART_Type const *p_reg)
Function for getting TX pin selection.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
TX pin selection.
-
NRF_STATIC_INLINE uint32_t nrf_uart_rx_pin_get(NRF_UART_Type const *p_reg)
Function for getting RX pin selection.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
RX pin selection.
-
NRF_STATIC_INLINE uint32_t nrf_uart_rts_pin_get(NRF_UART_Type const *p_reg)
Function for getting RTS pin selection.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
RTS pin selection.
-
NRF_STATIC_INLINE uint32_t nrf_uart_cts_pin_get(NRF_UART_Type const *p_reg)
Function for getting CTS pin selection.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
CTS pin selection.
-
NRF_STATIC_INLINE void nrf_uart_hwfc_pins_set(NRF_UART_Type *p_reg, uint32_t pselrts, uint32_t pselcts)
Function for configuring flow control pins.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
pselrts – [in] RTS pin number.
pselcts – [in] CTS pin number.
-
NRF_STATIC_INLINE void nrf_uart_hwfc_pins_disconnect(NRF_UART_Type *p_reg)
Function for disconnecting flow control pins.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
NRF_STATIC_INLINE uint8_t nrf_uart_rxd_get(NRF_UART_Type const *p_reg)
Function for reading RX data.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Received byte.
-
NRF_STATIC_INLINE void nrf_uart_txd_set(NRF_UART_Type *p_reg, uint8_t txd)
Function for setting Tx data.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
txd – [in] Byte.
-
NRF_STATIC_INLINE void nrf_uart_task_trigger(NRF_UART_Type *p_reg, nrf_uart_task_t task)
Function for starting an UART task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task.
-
NRF_STATIC_INLINE uint32_t nrf_uart_task_address_get(NRF_UART_Type const *p_reg, nrf_uart_task_t task)
Function for returning the address of the specified task register.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task.
- Returns:
Task address.
-
NRF_STATIC_INLINE void nrf_uart_configure(NRF_UART_Type *p_reg, nrf_uart_config_t const *p_cfg)
Function for configuring UART.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
p_cfg – [in] Pointer to UART settings structure.
-
NRF_STATIC_INLINE void nrf_uart_baudrate_set(NRF_UART_Type *p_reg, nrf_uart_baudrate_t baudrate)
Function for setting UART baud rate.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
baudrate – [in] Baud rate.
-
struct nrf_uart_config_t
- #include <nrf_uart.h>
Structure for UART transmission configuration.
Public Members
-
nrf_uart_hwfc_t hwfc
Flow control configuration.
-
nrf_uart_parity_t parity
Parity configuration.
-
nrf_uart_stop_t stop
Stop bits.
-
nrf_uart_paritytype_t paritytype
Parity type.
-
nrf_uart_hwfc_t hwfc
-
NRF_UART_HAS_STOP_BITS