| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Enumerations | Functions
UARTE HAL
UART driver and HAL

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

enum nrf_uarte_baudrate_t

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.

enum nrf_uarte_error_mask_t

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.

enum nrf_uarte_event_t

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.

enum nrf_uarte_hwfc_t

Types of UARTE flow control modes.

Enumerator
NRF_UARTE_HWFC_DISABLED | HW flow control disabled.
NRF_UARTE_HWFC_ENABLED | HW flow control enabled.

enum nrf_uarte_int_mask_t

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.

enum nrf_uarte_parity_t

Types of UARTE parity modes.

Enumerator
NRF_UARTE_PARITY_EXCLUDED | Parity excluded.
NRF_UARTE_PARITY_INCLUDED | Parity included.

enum nrf_uarte_short_t

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.

enum nrf_uarte_task_t

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.