nrfx 3.3
Macros | Enumerations | Functions
TWIM HAL

Hardware access layer for managing the TWIM peripheral. More...

Macros

#define NRF_TWIM_INST_GET(idx)   NRFX_CONCAT(NRF_, TWIM, idx)
 Macro getting pointer to the structure of registers of the TWIM peripheral.
 
#define NRF_TWIM_HAS_1000_KHZ_FREQ   1
 Symbol indicating whether 1000 kHz clock frequency is available.
 
#define NRF_TWIM_HAS_ARRAY_LIST   1
 Symbol indicating whether EasyDMA array list feature is present.
 
#define NRF_TWIM_HAS_DMA_REG   1
 Symbol indicating whether dedicated DMA register is present.
 
#define NRF_TWIM_HAS_DMA_TASKS_EVENTS   1
 Symbol indicating whether TWIM DMA tasks and events are present.
 
#define NRF_TWIM_HAS_DMA_SHORTS   1
 Symbol indicating whether TWIM DMA shortcuts are present.
 
#define NRF_TWIM_DMA_RX_PATTERN_MAX_COUNT   TWIM_DMA_RX_MATCH_CANDIDATE_MaxCount
 Max number of RX patterns.
 

Enumerations

enum  nrf_twim_task_t {
  NRF_TWIM_TASK_STARTRX = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.START) ,
  NRF_TWIM_TASK_STARTTX = offsetof(NRF_TWIM_Type, TASKS_DMA.TX.START) ,
  NRF_TWIM_TASK_ENABLERXMATCH0 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.ENABLEMATCH[0]) ,
  NRF_TWIM_TASK_ENABLERXMATCH1 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.ENABLEMATCH[1]) ,
  NRF_TWIM_TASK_ENABLERXMATCH2 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.ENABLEMATCH[2]) ,
  NRF_TWIM_TASK_ENABLERXMATCH3 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.ENABLEMATCH[3]) ,
  NRF_TWIM_TASK_DISABLERXMATCH0 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.DISABLEMATCH[0]) ,
  NRF_TWIM_TASK_DISABLERXMATCH1 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.DISABLEMATCH[1]) ,
  NRF_TWIM_TASK_DISABLERXMATCH2 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.DISABLEMATCH[2]) ,
  NRF_TWIM_TASK_DISABLERXMATCH3 = offsetof(NRF_TWIM_Type, TASKS_DMA.RX.DISABLEMATCH[3]) ,
  NRF_TWIM_TASK_STOP = offsetof(NRF_TWIM_Type, TASKS_STOP) ,
  NRF_TWIM_TASK_SUSPEND = offsetof(NRF_TWIM_Type, TASKS_SUSPEND) ,
  NRF_TWIM_TASK_RESUME = offsetof(NRF_TWIM_Type, TASKS_RESUME)
}
 TWIM tasks. More...
 
enum  nrf_twim_event_t {
  NRF_TWIM_EVENT_STOPPED = offsetof(NRF_TWIM_Type, EVENTS_STOPPED) ,
  NRF_TWIM_EVENT_ERROR = offsetof(NRF_TWIM_Type, EVENTS_ERROR) ,
  NRF_TWIM_EVENT_SUSPENDED = offsetof(NRF_TWIM_Type, EVENTS_SUSPENDED) ,
  NRF_TWIM_EVENT_ENDRX = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.END) ,
  NRF_TWIM_EVENT_RXSTARTED = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.READY) ,
  NRF_TWIM_EVENT_RXBUSERROR = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.BUSERROR) ,
  NRF_TWIM_EVENT_RXMATCH0 = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.MATCH[0]) ,
  NRF_TWIM_EVENT_RXMATCH1 = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.MATCH[1]) ,
  NRF_TWIM_EVENT_RXMATCH2 = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.MATCH[2]) ,
  NRF_TWIM_EVENT_RXMATCH3 = offsetof(NRF_TWIM_Type, EVENTS_DMA.RX.MATCH[3]) ,
  NRF_TWIM_EVENT_ENDTX = offsetof(NRF_TWIM_Type, EVENTS_DMA.TX.END) ,
  NRF_TWIM_EVENT_TXSTARTED = offsetof(NRF_TWIM_Type, EVENTS_DMA.TX.READY) ,
  NRF_TWIM_EVENT_TXBUSERROR = offsetof(NRF_TWIM_Type, EVENTS_DMA.TX.BUSERROR) ,
  NRF_TWIM_EVENT_LASTRX = offsetof(NRF_TWIM_Type, EVENTS_LASTRX) ,
  NRF_TWIM_EVENT_LASTTX = offsetof(NRF_TWIM_Type, EVENTS_LASTTX)
}
 TWIM events. More...
 
enum  nrf_twim_short_mask_t {
  NRF_TWIM_SHORT_LASTTX_SUSPEND_MASK = TWIM_SHORTS_LASTTX_SUSPEND_Msk ,
  NRF_TWIM_SHORT_LASTTX_STOP_MASK = TWIM_SHORTS_LASTTX_STOP_Msk ,
  NRF_TWIM_SHORT_LASTRX_STOP_MASK = TWIM_SHORTS_LASTRX_STOP_Msk ,
  NRF_TWIM_SHORT_LASTTX_STARTRX_MASK = TWIM_SHORTS_LASTTX_DMA_RX_START_Msk ,
  NRF_TWIM_SHORT_LASTRX_STARTTX_MASK = TWIM_SHORTS_LASTRX_DMA_TX_START_Msk ,
  NRF_TWIM_SHORT_RXMATCH0_ENABLERXMATCH1_MASK = TWIM_SHORTS_DMA_RX_MATCH0_DMA_RX_ENABLEMATCH1_Msk ,
  NRF_TWIM_SHORT_RXMATCH1_ENABLERXMATCH2_MASK = TWIM_SHORTS_DMA_RX_MATCH1_DMA_RX_ENABLEMATCH2_Msk ,
  NRF_TWIM_SHORT_RXMATCH2_ENABLERXMATCH3_MASK = TWIM_SHORTS_DMA_RX_MATCH2_DMA_RX_ENABLEMATCH3_Msk ,
  NRF_TWIM_SHORT_RXMATCH3_ENABLERXMATCH0_MASK = TWIM_SHORTS_DMA_RX_MATCH3_DMA_RX_ENABLEMATCH0_Msk ,
  NRF_TWIM_SHORT_RXMATCH0_DISABLERXMATCH0_MASK = TWIM_SHORTS_DMA_RX_MATCH0_DMA_RX_DISABLEMATCH0_Msk ,
  NRF_TWIM_SHORT_RXMATCH1_DISABLERXMATCH1_MASK = TWIM_SHORTS_DMA_RX_MATCH1_DMA_RX_DISABLEMATCH1_Msk ,
  NRF_TWIM_SHORT_RXMATCH2_DISABLERXMATCH2_MASK = TWIM_SHORTS_DMA_RX_MATCH2_DMA_RX_DISABLEMATCH2_Msk ,
  NRF_TWIM_SHORT_RXMATCH3_DISABLERXMATCH3_MASK = TWIM_SHORTS_DMA_RX_MATCH3_DMA_RX_DISABLEMATCH3_Msk ,
  NRF_TWIM_ALL_SHORTS_MASK
}
 TWIM shortcuts. More...
 
enum  nrf_twim_int_mask_t {
  NRF_TWIM_INT_STOPPED_MASK = TWIM_INTENSET_STOPPED_Msk ,
  NRF_TWIM_INT_ERROR_MASK = TWIM_INTENSET_ERROR_Msk ,
  NRF_TWIM_INT_SUSPENDED_MASK = TWIM_INTENSET_SUSPENDED_Msk ,
  NRF_TWIM_INT_RXSTARTED_MASK = TWIM_INTENSET_DMARXREADY_Msk ,
  NRF_TWIM_INT_TXSTARTED_MASK = TWIM_INTENSET_DMATXREADY_Msk ,
  NRF_TWIM_INT_ENDRX_MASK = TWIM_INTENSET_DMARXEND_Msk ,
  NRF_TWIM_INT_RXREADY_MASK = TWIM_INTENSET_DMARXREADY_Msk ,
  NRF_TWIM_INT_RXBUSERROR_MASK = TWIM_INTENSET_DMARXBUSERROR_Msk ,
  NRF_TWIM_INT_RXMATCH0_MASK = TWIM_INTENSET_DMARXMATCH0_Msk ,
  NRF_TWIM_INT_RXMATCH1_MASK = TWIM_INTENSET_DMARXMATCH1_Msk ,
  NRF_TWIM_INT_RXMATCH2_MASK = TWIM_INTENSET_DMARXMATCH2_Msk ,
  NRF_TWIM_INT_RXMATCH3_MASK = TWIM_INTENSET_DMARXMATCH3_Msk ,
  NRF_TWIM_INT_ENDTX_MASK = TWIM_INTENSET_DMATXEND_Msk ,
  NRF_TWIM_INT_TXREADY_MASK = TWIM_INTENSET_DMATXREADY_Msk ,
  NRF_TWIM_INT_TXBUSERROR_MASK = TWIM_INTENSET_DMATXBUSERROR_Msk ,
  NRF_TWIM_INT_LASTRX_MASK = TWIM_INTENSET_LASTRX_Msk ,
  NRF_TWIM_INT_LASTTX_MASK = TWIM_INTENSET_LASTTX_Msk ,
  NRF_TWIM_ALL_INTS_MASK
}
 TWIM interrupts. More...
 
enum  nrf_twim_frequency_t {
  NRF_TWIM_FREQ_100K = TWIM_FREQUENCY_FREQUENCY_K100 ,
  NRF_TWIM_FREQ_250K = TWIM_FREQUENCY_FREQUENCY_K250 ,
  NRF_TWIM_FREQ_400K = TWIM_FREQUENCY_FREQUENCY_K400 ,
  NRF_TWIM_FREQ_1000K = TWIM_FREQUENCY_FREQUENCY_K1000
}
 TWIM master clock frequency. More...
 
enum  nrf_twim_error_t {
  NRF_TWIM_ERROR_ADDRESS_NACK = TWIM_ERRORSRC_ANACK_Msk ,
  NRF_TWIM_ERROR_DATA_NACK = TWIM_ERRORSRC_DNACK_Msk ,
  NRF_TWIM_ERROR_OVERRUN = TWIM_ERRORSRC_OVERRUN_Msk
}
 TWIM error source. More...
 

Functions

NRF_STATIC_INLINE void nrf_twim_task_trigger (NRF_TWIM_Type *p_reg, nrf_twim_task_t task)
 Function for activating the specified TWIM task.
 
NRF_STATIC_INLINE uint32_t nrf_twim_task_address_get (NRF_TWIM_Type const *p_reg, nrf_twim_task_t task)
 Function for getting the address of the specified TWIM task register.
 
NRF_STATIC_INLINE void nrf_twim_event_clear (NRF_TWIM_Type *p_reg, nrf_twim_event_t event)
 Function for clearing the specified TWIM event.
 
NRF_STATIC_INLINE bool nrf_twim_event_check (NRF_TWIM_Type const *p_reg, nrf_twim_event_t event)
 Function for retrieving the state of the TWIM event.
 
NRF_STATIC_INLINE uint32_t nrf_twim_event_address_get (NRF_TWIM_Type const *p_reg, nrf_twim_event_t event)
 Function for getting the address of the specified TWIM event register.
 
NRF_STATIC_INLINE void nrf_twim_shorts_enable (NRF_TWIM_Type *p_reg, uint32_t mask)
 Function for enabling the specified shortcuts.
 
NRF_STATIC_INLINE void nrf_twim_shorts_disable (NRF_TWIM_Type *p_reg, uint32_t mask)
 Function for disabling the specified shortcuts.
 
NRF_STATIC_INLINE void nrf_twim_int_enable (NRF_TWIM_Type *p_reg, uint32_t mask)
 Function for enabling the specified interrupts.
 
NRF_STATIC_INLINE void nrf_twim_int_disable (NRF_TWIM_Type *p_reg, uint32_t mask)
 Function for disabling the specified interrupts.
 
NRF_STATIC_INLINE uint32_t nrf_twim_int_enable_check (NRF_TWIM_Type const *p_reg, uint32_t mask)
 Function for checking if the specified interrupts are enabled.
 
NRF_STATIC_INLINE void nrf_twim_subscribe_set (NRF_TWIM_Type *p_reg, nrf_twim_task_t task, uint8_t channel)
 Function for setting the subscribe configuration for a given TWIM task.
 
NRF_STATIC_INLINE void nrf_twim_subscribe_clear (NRF_TWIM_Type *p_reg, nrf_twim_task_t task)
 Function for clearing the subscribe configuration for a given TWIM task.
 
NRF_STATIC_INLINE void nrf_twim_publish_set (NRF_TWIM_Type *p_reg, nrf_twim_event_t event, uint8_t channel)
 Function for setting the publish configuration for a given TWIM event.
 
NRF_STATIC_INLINE void nrf_twim_publish_clear (NRF_TWIM_Type *p_reg, nrf_twim_event_t event)
 Function for clearing the publish configuration for a given TWIM event.
 
NRF_STATIC_INLINE void nrf_twim_enable (NRF_TWIM_Type *p_reg)
 Function for enabling the TWIM peripheral.
 
NRF_STATIC_INLINE void nrf_twim_disable (NRF_TWIM_Type *p_reg)
 Function for disabling the TWIM peripheral.
 
NRF_STATIC_INLINE void nrf_twim_pins_set (NRF_TWIM_Type *p_reg, uint32_t scl_pin, uint32_t sda_pin)
 Function for configuring TWI pins.
 
NRF_STATIC_INLINE uint32_t nrf_twim_scl_pin_get (NRF_TWIM_Type const *p_reg)
 Function for retrieving the SCL pin selection.
 
NRF_STATIC_INLINE uint32_t nrf_twim_sda_pin_get (NRF_TWIM_Type const *p_reg)
 Function for retrieving the SDA pin selection.
 
NRF_STATIC_INLINE void nrf_twim_frequency_set (NRF_TWIM_Type *p_reg, nrf_twim_frequency_t frequency)
 Function for setting the TWI master clock frequency.
 
NRF_STATIC_INLINE uint32_t nrf_twim_errorsrc_get_and_clear (NRF_TWIM_Type *p_reg)
 Function for checking the TWI error source.
 
NRF_STATIC_INLINE void nrf_twim_address_set (NRF_TWIM_Type *p_reg, uint8_t address)
 Function for setting the address to be used in TWI transfers.
 
NRF_STATIC_INLINE uint8_t nrf_twim_address_get (NRF_TWIM_Type const *p_reg)
 Function for getting the address to be used in TWI transfers.
 
NRF_STATIC_INLINE void nrf_twim_tx_buffer_set (NRF_TWIM_Type *p_reg, uint8_t const *p_buffer, size_t length)
 Function for setting the transmit buffer.
 
NRF_STATIC_INLINE void nrf_twim_rx_buffer_set (NRF_TWIM_Type *p_reg, uint8_t *p_buffer, size_t length)
 Function for setting the receive buffer.
 
NRF_STATIC_INLINE void nrf_twim_shorts_set (NRF_TWIM_Type *p_reg, uint32_t mask)
 Function for setting the specified shortcuts.
 
NRF_STATIC_INLINE uint32_t nrf_twim_shorts_get (NRF_TWIM_Type const *p_reg)
 Function for getting the shortcut setting.
 
NRF_STATIC_INLINE size_t nrf_twim_txd_amount_get (NRF_TWIM_Type const *p_reg)
 Function for getting the amount of transmitted bytes.
 
NRF_STATIC_INLINE size_t nrf_twim_rxd_amount_get (NRF_TWIM_Type const *p_reg)
 Function for getting the amount of received bytes.
 
NRF_STATIC_INLINE void nrf_twim_tx_list_enable (NRF_TWIM_Type *p_reg)
 Function for enabling the TX list feature.
 
NRF_STATIC_INLINE void nrf_twim_tx_list_disable (NRF_TWIM_Type *p_reg)
 Function for disabling the TX list feature.
 
NRF_STATIC_INLINE void nrf_twim_rx_list_enable (NRF_TWIM_Type *p_reg)
 Function for enabling the RX list feature.
 
NRF_STATIC_INLINE void nrf_twim_rx_list_disable (NRF_TWIM_Type *p_reg)
 Function for disabling the RX list feature.
 
NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_enable_set (NRF_TWIM_Type *p_reg, uint8_t index, bool enable)
 Function for enabling individual pattern match filters.
 
NRF_STATIC_INLINE bool nrf_twim_rx_pattern_match_enable_check (NRF_TWIM_Type const *p_reg, uint8_t index)
 Function for checking if the specified pattern match filter is enabled.
 
NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_one_shot_enable (NRF_TWIM_Type *p_reg, uint8_t index)
 Function for enabling one-shot operation for the specified match filter.
 
NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_one_shot_disable (NRF_TWIM_Type *p_reg, uint8_t index)
 Function for disabling one-shot operation for the specified match filter.
 
NRF_STATIC_INLINE bool nrf_twim_rx_pattern_match_one_shot_check (NRF_TWIM_Type const *p_reg, uint8_t index)
 Function for checking if specified pattern match filter is configured as one-shot.
 
NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_candidate_set (NRF_TWIM_Type *p_reg, uint8_t index, uint32_t pattern)
 Function for setting the pattern to be looked for by the specified match filter.
 
NRF_STATIC_INLINE uint32_t nrf_twim_rx_pattern_match_candidate_get (NRF_TWIM_Type const *p_reg, uint8_t index)
 Function for getting the pattern that the specified match filter is looking for.
 

Detailed Description

Hardware access layer for managing the TWIM peripheral.

Macro Definition Documentation

◆ NRF_TWIM_INST_GET

#define NRF_TWIM_INST_GET (   idx)    NRFX_CONCAT(NRF_, TWIM, idx)

Macro getting pointer to the structure of registers of the TWIM peripheral.

Parameters
[in]idxTWIM instance index.
Returns
Pointer to the structure of registers of the TWIM peripheral.

Enumeration Type Documentation

◆ nrf_twim_error_t

TWIM error source.

Enumerator
NRF_TWIM_ERROR_ADDRESS_NACK 

NACK received after sending the address.

NRF_TWIM_ERROR_DATA_NACK 

NACK received after sending a data byte.

NRF_TWIM_ERROR_OVERRUN 

Overrun error.

A new byte was received before the previous byte was handled by peripheral. (previous data is lost).

◆ nrf_twim_event_t

TWIM events.

Enumerator
NRF_TWIM_EVENT_STOPPED 

TWI stopped.

NRF_TWIM_EVENT_ERROR 

TWI error.

NRF_TWIM_EVENT_SUSPENDED 

TWI suspended.

NRF_TWIM_EVENT_ENDRX 

Receive sequence finished.

NRF_TWIM_EVENT_RXSTARTED 

Receive sequence started.

NRF_TWIM_EVENT_RXBUSERROR 

Memory bus error occurred during the RX transfer.

NRF_TWIM_EVENT_RXMATCH0 

Pattern match for pattern 0 detected.

NRF_TWIM_EVENT_RXMATCH1 

Pattern match for pattern 1 detected.

NRF_TWIM_EVENT_RXMATCH2 

Pattern match for pattern 2 detected.

NRF_TWIM_EVENT_RXMATCH3 

Pattern match for pattern 3 detected.

NRF_TWIM_EVENT_ENDTX 

Transmit sequence finished.

NRF_TWIM_EVENT_TXSTARTED 

Transmit sequence started.

NRF_TWIM_EVENT_TXBUSERROR 

Memory bus error occurred during the TX transfer.

NRF_TWIM_EVENT_LASTRX 

Byte boundary, starting to receive the last byte.

NRF_TWIM_EVENT_LASTTX 

Byte boundary, starting to transmit the last byte.

◆ nrf_twim_frequency_t

TWIM master clock frequency.

Enumerator
NRF_TWIM_FREQ_100K 

100 kbps.

NRF_TWIM_FREQ_250K 

250 kbps.

NRF_TWIM_FREQ_400K 

400 kbps.

NRF_TWIM_FREQ_1000K 

1000 kbps.

◆ nrf_twim_int_mask_t

TWIM interrupts.

Enumerator
NRF_TWIM_INT_STOPPED_MASK 

Interrupt on STOPPED event.

NRF_TWIM_INT_ERROR_MASK 

Interrupt on ERROR event.

NRF_TWIM_INT_SUSPENDED_MASK 

Interrupt on SUSPENDED event.

NRF_TWIM_INT_RXSTARTED_MASK 

Interrupt on RXSTARTED event.

NRF_TWIM_INT_TXSTARTED_MASK 

Interrupt on TXSTARTED event.

NRF_TWIM_INT_ENDRX_MASK 

Interrupt on DMA.RX.END event.

NRF_TWIM_INT_RXREADY_MASK 

Interrupt on DMA.RX.READY event.

NRF_TWIM_INT_RXBUSERROR_MASK 

Interrupt on DMA.RX.BUSERROR event.

NRF_TWIM_INT_RXMATCH0_MASK 

Interrupt on DMA.RX.MATCH0 event.

NRF_TWIM_INT_RXMATCH1_MASK 

Interrupt on DMA.RX.MATCH1 event.

NRF_TWIM_INT_RXMATCH2_MASK 

Interrupt on DMA.RX.MATCH2 event.

NRF_TWIM_INT_RXMATCH3_MASK 

Interrupt on DMA.RX.MATCH3 event.

NRF_TWIM_INT_ENDTX_MASK 

Interrupt on DMA.TX.END event.

NRF_TWIM_INT_TXREADY_MASK 

Interrupt on DMA.TX.READY event.

NRF_TWIM_INT_TXBUSERROR_MASK 

Interrupt on DMA.TX.BUSERROR event.

NRF_TWIM_INT_LASTRX_MASK 

Interrupt on LASTRX event.

NRF_TWIM_INT_LASTTX_MASK 

Interrupt on LASTTX event.

NRF_TWIM_ALL_INTS_MASK 

All TWIM interrupts.

◆ nrf_twim_short_mask_t

TWIM shortcuts.

Enumerator
NRF_TWIM_SHORT_LASTTX_SUSPEND_MASK 

Shortcut between LASTTX event and SUSPEND task.

NRF_TWIM_SHORT_LASTTX_STOP_MASK 

Shortcut between LASTTX event and STOP task.

NRF_TWIM_SHORT_LASTRX_STOP_MASK 

Shortcut between LASTRX event and STOP task.

NRF_TWIM_SHORT_LASTTX_STARTRX_MASK 

Shortcut between LASTTX event and STARTRX task.

NRF_TWIM_SHORT_LASTRX_STARTTX_MASK 

Shortcut between LASTRX event and STARTTX task.

NRF_TWIM_SHORT_RXMATCH0_ENABLERXMATCH1_MASK 

Shortcut between DMA.RX.MATCH0 event and DMA.RX.ENABLEMATCH1 task.

NRF_TWIM_SHORT_RXMATCH1_ENABLERXMATCH2_MASK 

Shortcut between DMA.RX.MATCH1 event and DMA.RX.ENABLEMATCH2 task.

NRF_TWIM_SHORT_RXMATCH2_ENABLERXMATCH3_MASK 

Shortcut between DMA.RX.MATCH2 event and DMA.RX.ENABLEMATCH0 task.

NRF_TWIM_SHORT_RXMATCH3_ENABLERXMATCH0_MASK 

Shortcut between DMA.RX.MATCH3 event and DMA.RX.ENABLEMATCH1 task.

NRF_TWIM_SHORT_RXMATCH0_DISABLERXMATCH0_MASK 

Shortcut between DMA.RX.MATCH0 event and DMA.RX.DISABLEMATCH0 task.

NRF_TWIM_SHORT_RXMATCH1_DISABLERXMATCH1_MASK 

Shortcut between DMA.RX.MATCH1 event and DMA.RX.DISABLEMATCH1 task.

NRF_TWIM_SHORT_RXMATCH2_DISABLERXMATCH2_MASK 

Shortcut between DMA.RX.MATCH2 event and DMA.RX.DISABLEMATCH2 task.

NRF_TWIM_SHORT_RXMATCH3_DISABLERXMATCH3_MASK 

Shortcut between DMA.RX.MATCH3 event and DMA.RX.DISABLEMATCH3 task.

NRF_TWIM_ALL_SHORTS_MASK 

All TWIM shortcuts.

◆ nrf_twim_task_t

TWIM tasks.

Enumerator
NRF_TWIM_TASK_STARTRX 

Start TWI receive sequence.

NRF_TWIM_TASK_STARTTX 

Start TWI transmit sequence.

NRF_TWIM_TASK_ENABLERXMATCH0 

Enable TWI pattern matching functionality for pattern 0.

NRF_TWIM_TASK_ENABLERXMATCH1 

Enable TWI pattern matching functionality for pattern 1.

NRF_TWIM_TASK_ENABLERXMATCH2 

Enable TWI pattern matching functionality for pattern 2.

NRF_TWIM_TASK_ENABLERXMATCH3 

Enable TWI pattern matching functionality for pattern 3.

NRF_TWIM_TASK_DISABLERXMATCH0 

Disable TWI pattern matching functionality for pattern 0.

NRF_TWIM_TASK_DISABLERXMATCH1 

Disable TWI pattern matching functionality for pattern 1.

NRF_TWIM_TASK_DISABLERXMATCH2 

Disable TWI pattern matching functionality for pattern 2.

NRF_TWIM_TASK_DISABLERXMATCH3 

Disable TWI pattern matching functionality for pattern 3.

NRF_TWIM_TASK_STOP 

Stop TWI transaction.

NRF_TWIM_TASK_SUSPEND 

Suspend TWI transaction.

NRF_TWIM_TASK_RESUME 

Resume TWI transaction.

Function Documentation

◆ nrf_twim_address_get()

NRF_STATIC_INLINE uint8_t nrf_twim_address_get ( NRF_TWIM_Type const *  p_reg)

Function for getting the address to be used in TWI transfers.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Address to be used in TWI transfers.

◆ nrf_twim_address_set()

NRF_STATIC_INLINE void nrf_twim_address_set ( NRF_TWIM_Type *  p_reg,
uint8_t  address 
)

Function for setting the address to be used in TWI transfers.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]addressAddress to be used in transfers.

◆ nrf_twim_disable()

NRF_STATIC_INLINE void nrf_twim_disable ( NRF_TWIM_Type *  p_reg)

Function for disabling the TWIM peripheral.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_twim_enable()

NRF_STATIC_INLINE void nrf_twim_enable ( NRF_TWIM_Type *  p_reg)

Function for enabling the TWIM peripheral.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_twim_errorsrc_get_and_clear()

NRF_STATIC_INLINE uint32_t nrf_twim_errorsrc_get_and_clear ( NRF_TWIM_Type *  p_reg)

Function for checking the TWI error source.

The error flags are cleared after reading.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Mask with error source flags.

◆ nrf_twim_event_address_get()

NRF_STATIC_INLINE uint32_t nrf_twim_event_address_get ( NRF_TWIM_Type const *  p_reg,
nrf_twim_event_t  event 
)

Function for getting the address of the specified TWIM event register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventThe specified event.
Returns
Address of the specified event register.

◆ nrf_twim_event_check()

NRF_STATIC_INLINE bool nrf_twim_event_check ( NRF_TWIM_Type const *  p_reg,
nrf_twim_event_t  event 
)

Function for retrieving the state of the TWIM event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to be checked.
Return values
trueThe event has been generated.
falseThe event has not been generated.

◆ nrf_twim_event_clear()

NRF_STATIC_INLINE void nrf_twim_event_clear ( NRF_TWIM_Type *  p_reg,
nrf_twim_event_t  event 
)

Function for clearing the specified TWIM event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to clear.

◆ nrf_twim_frequency_set()

NRF_STATIC_INLINE void nrf_twim_frequency_set ( NRF_TWIM_Type *  p_reg,
nrf_twim_frequency_t  frequency 
)

Function for setting the TWI master clock frequency.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]frequencyTWI frequency.

◆ nrf_twim_int_disable()

NRF_STATIC_INLINE void nrf_twim_int_disable ( NRF_TWIM_Type *  p_reg,
uint32_t  mask 
)

Function for disabling the specified interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be disabled. Use nrf_twim_int_mask_t values for bit masking.

◆ nrf_twim_int_enable()

NRF_STATIC_INLINE void nrf_twim_int_enable ( NRF_TWIM_Type *  p_reg,
uint32_t  mask 
)

Function for enabling the specified interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be enabled. Use nrf_twim_int_mask_t values for bit masking.

◆ nrf_twim_int_enable_check()

NRF_STATIC_INLINE uint32_t nrf_twim_int_enable_check ( NRF_TWIM_Type const *  p_reg,
uint32_t  mask 
)

Function for checking if the specified interrupts are enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be checked. Use nrf_twim_int_mask_t values for bit masking.
Returns
Mask of enabled interrupts.

◆ nrf_twim_pins_set()

NRF_STATIC_INLINE void nrf_twim_pins_set ( NRF_TWIM_Type *  p_reg,
uint32_t  scl_pin,
uint32_t  sda_pin 
)

Function for configuring TWI pins.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]scl_pinSCL pin number.
[in]sda_pinSDA pin number.

◆ nrf_twim_publish_clear()

NRF_STATIC_INLINE void nrf_twim_publish_clear ( NRF_TWIM_Type *  p_reg,
nrf_twim_event_t  event 
)

Function for clearing the publish configuration for a given TWIM event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to clear the configuration.

◆ nrf_twim_publish_set()

NRF_STATIC_INLINE void nrf_twim_publish_set ( NRF_TWIM_Type *  p_reg,
nrf_twim_event_t  event,
uint8_t  channel 
)

Function for setting the publish configuration for a given TWIM event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to set the configuration.
[in]channelChannel through which to publish the event.

◆ nrf_twim_rx_buffer_set()

NRF_STATIC_INLINE void nrf_twim_rx_buffer_set ( NRF_TWIM_Type *  p_reg,
uint8_t *  p_buffer,
size_t  length 
)

Function for setting the receive buffer.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_bufferPointer to the buffer for received data.
[in]lengthMaximum number of data bytes to receive.

◆ nrf_twim_rx_list_disable()

NRF_STATIC_INLINE void nrf_twim_rx_list_disable ( NRF_TWIM_Type *  p_reg)

Function for disabling the RX list feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_twim_rx_list_enable()

NRF_STATIC_INLINE void nrf_twim_rx_list_enable ( NRF_TWIM_Type *  p_reg)

Function for enabling the RX list feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_twim_rx_pattern_match_candidate_get()

NRF_STATIC_INLINE uint32_t nrf_twim_rx_pattern_match_candidate_get ( NRF_TWIM_Type const *  p_reg,
uint8_t  index 
)

Function for getting the pattern that the specified match filter is looking for.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.
Returns
Pattern that the specified match filter is looking for.

◆ nrf_twim_rx_pattern_match_candidate_set()

NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_candidate_set ( NRF_TWIM_Type *  p_reg,
uint8_t  index,
uint32_t  pattern 
)

Function for setting the pattern to be looked for by the specified match filter.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.
[in]patternPattern to be looked for. Match will trigger the corresponding event, if enabled.

◆ nrf_twim_rx_pattern_match_enable_check()

NRF_STATIC_INLINE bool nrf_twim_rx_pattern_match_enable_check ( NRF_TWIM_Type const *  p_reg,
uint8_t  index 
)

Function for checking if the specified pattern match filter is enabled.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.
Return values
truePattern match filter is enabled.
falsePattern match filter is disabled.

◆ nrf_twim_rx_pattern_match_enable_set()

NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_enable_set ( NRF_TWIM_Type *  p_reg,
uint8_t  index,
bool  enable 
)

Function for enabling individual pattern match filters.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.
[in]enableTrue if pattern match filter is to be enabled, false otherwise.

◆ nrf_twim_rx_pattern_match_one_shot_check()

NRF_STATIC_INLINE bool nrf_twim_rx_pattern_match_one_shot_check ( NRF_TWIM_Type const *  p_reg,
uint8_t  index 
)

Function for checking if specified pattern match filter is configured as one-shot.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.
Return values
truePattern match filter is configured as one-shot.
falsePattern match filter is configured as continuous.

◆ nrf_twim_rx_pattern_match_one_shot_disable()

NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_one_shot_disable ( NRF_TWIM_Type *  p_reg,
uint8_t  index 
)

Function for disabling one-shot operation for the specified match filter.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.

◆ nrf_twim_rx_pattern_match_one_shot_enable()

NRF_STATIC_INLINE void nrf_twim_rx_pattern_match_one_shot_enable ( NRF_TWIM_Type *  p_reg,
uint8_t  index 
)

Function for enabling one-shot operation for the specified match filter.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexIndex of pattern match filter.

◆ nrf_twim_rxd_amount_get()

NRF_STATIC_INLINE size_t nrf_twim_rxd_amount_get ( NRF_TWIM_Type const *  p_reg)

Function for getting the amount of received bytes.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Amount of received bytes.

◆ nrf_twim_scl_pin_get()

NRF_STATIC_INLINE uint32_t nrf_twim_scl_pin_get ( NRF_TWIM_Type const *  p_reg)

Function for retrieving the SCL pin selection.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
SCL pin selection.

◆ nrf_twim_sda_pin_get()

NRF_STATIC_INLINE uint32_t nrf_twim_sda_pin_get ( NRF_TWIM_Type const *  p_reg)

Function for retrieving the SDA pin selection.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
SDA pin selection.

◆ nrf_twim_shorts_disable()

NRF_STATIC_INLINE void nrf_twim_shorts_disable ( NRF_TWIM_Type *  p_reg,
uint32_t  mask 
)

Function for disabling the specified shortcuts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskShortcuts to be disabled.

◆ nrf_twim_shorts_enable()

NRF_STATIC_INLINE void nrf_twim_shorts_enable ( NRF_TWIM_Type *  p_reg,
uint32_t  mask 
)

Function for enabling the specified shortcuts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskShortcuts to be enabled.

◆ nrf_twim_shorts_get()

NRF_STATIC_INLINE uint32_t nrf_twim_shorts_get ( NRF_TWIM_Type const *  p_reg)

Function for getting the shortcut setting.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Current shortcut configuration.

◆ nrf_twim_shorts_set()

NRF_STATIC_INLINE void nrf_twim_shorts_set ( NRF_TWIM_Type *  p_reg,
uint32_t  mask 
)

Function for setting the specified shortcuts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskShortcuts to be set.

◆ nrf_twim_subscribe_clear()

NRF_STATIC_INLINE void nrf_twim_subscribe_clear ( NRF_TWIM_Type *  p_reg,
nrf_twim_task_t  task 
)

Function for clearing the subscribe configuration for a given TWIM task.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to clear the configuration.

◆ nrf_twim_subscribe_set()

NRF_STATIC_INLINE void nrf_twim_subscribe_set ( NRF_TWIM_Type *  p_reg,
nrf_twim_task_t  task,
uint8_t  channel 
)

Function for setting the subscribe configuration for a given TWIM task.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to set the configuration.
[in]channelChannel through which to subscribe events.

◆ nrf_twim_task_address_get()

NRF_STATIC_INLINE uint32_t nrf_twim_task_address_get ( NRF_TWIM_Type const *  p_reg,
nrf_twim_task_t  task 
)

Function for getting the address of the specified TWIM task register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskThe specified task.
Returns
Address of the specified task register.

◆ nrf_twim_task_trigger()

NRF_STATIC_INLINE void nrf_twim_task_trigger ( NRF_TWIM_Type *  p_reg,
nrf_twim_task_t  task 
)

Function for activating the specified TWIM task.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask to be activated.

◆ nrf_twim_tx_buffer_set()

NRF_STATIC_INLINE void nrf_twim_tx_buffer_set ( NRF_TWIM_Type *  p_reg,
uint8_t const *  p_buffer,
size_t  length 
)

Function for setting the transmit buffer.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]p_bufferPointer to the buffer with data to send.
[in]lengthMaximum number of data bytes to transmit.

◆ nrf_twim_tx_list_disable()

NRF_STATIC_INLINE void nrf_twim_tx_list_disable ( NRF_TWIM_Type *  p_reg)

Function for disabling the TX list feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_twim_tx_list_enable()

NRF_STATIC_INLINE void nrf_twim_tx_list_enable ( NRF_TWIM_Type *  p_reg)

Function for enabling the TX list feature.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.

◆ nrf_twim_txd_amount_get()

NRF_STATIC_INLINE size_t nrf_twim_txd_amount_get ( NRF_TWIM_Type const *  p_reg)

Function for getting the amount of transmitted bytes.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Amount of transmitted bytes.

Documentation feedback | Developer Zone | Subscribe | Updated