nRF5 SDK v13.0.0
Enumerations | Functions

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

Enumerations

enum  nrf_twim_task_t {
  NRF_TWIM_TASK_STARTRX = offsetof(NRF_TWIM_Type, TASKS_STARTRX),
  NRF_TWIM_TASK_STARTTX = offsetof(NRF_TWIM_Type, TASKS_STARTTX),
  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 = 0x148,
  NRF_TWIM_EVENT_RXSTARTED = offsetof(NRF_TWIM_Type, EVENTS_RXSTARTED),
  NRF_TWIM_EVENT_TXSTARTED = offsetof(NRF_TWIM_Type, EVENTS_TXSTARTED),
  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_STARTRX_MASK = TWIM_SHORTS_LASTTX_STARTRX_Msk,
  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_STARTTX_MASK = TWIM_SHORTS_LASTRX_STARTTX_Msk,
  NRF_TWIM_SHORT_LASTRX_STOP_MASK = TWIM_SHORTS_LASTRX_STOP_Msk
}
 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 = (1 << 18),
  NRF_TWIM_INT_RXSTARTED_MASK = TWIM_INTENSET_RXSTARTED_Msk,
  NRF_TWIM_INT_TXSTARTED_MASK = TWIM_INTENSET_TXSTARTED_Msk,
  NRF_TWIM_INT_LASTRX_MASK = TWIM_INTENSET_LASTRX_Msk,
  NRF_TWIM_INT_LASTTX_MASK = TWIM_INTENSET_LASTTX_Msk
}
 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
}
 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
}
 TWIM error source. More...
 

Functions

__STATIC_INLINE void nrf_twim_task_trigger (NRF_TWIM_Type *p_reg, nrf_twim_task_t task)
 Function for activating a specific TWIM task. More...
 
__STATIC_INLINE uint32_t * nrf_twim_task_address_get (NRF_TWIM_Type *p_reg, nrf_twim_task_t task)
 Function for getting the address of a specific TWIM task register. More...
 
__STATIC_INLINE void nrf_twim_event_clear (NRF_TWIM_Type *p_reg, nrf_twim_event_t event)
 Function for clearing a specific TWIM event. More...
 
__STATIC_INLINE bool nrf_twim_event_check (NRF_TWIM_Type *p_reg, nrf_twim_event_t event)
 Function for checking the state of a specific TWIM event. More...
 
__STATIC_INLINE uint32_t * nrf_twim_event_address_get (NRF_TWIM_Type *p_reg, nrf_twim_event_t event)
 Function for getting the address of a specific TWIM event register. More...
 
__STATIC_INLINE void nrf_twim_shorts_enable (NRF_TWIM_Type *p_reg, uint32_t shorts_mask)
 Function for enabling specified shortcuts. More...
 
__STATIC_INLINE void nrf_twim_shorts_disable (NRF_TWIM_Type *p_reg, uint32_t shorts_mask)
 Function for disabling specified shortcuts. More...
 
__STATIC_INLINE void nrf_twim_int_enable (NRF_TWIM_Type *p_reg, uint32_t int_mask)
 Function for enabling specified interrupts. More...
 
__STATIC_INLINE void nrf_twim_int_disable (NRF_TWIM_Type *p_reg, uint32_t int_mask)
 Function for disabling specified interrupts. More...
 
__STATIC_INLINE bool nrf_twim_int_enable_check (NRF_TWIM_Type *p_reg, nrf_twim_int_mask_t int_mask)
 Function for checking the state of a given interrupt. More...
 
__STATIC_INLINE void nrf_twim_enable (NRF_TWIM_Type *p_reg)
 Function for enabling the TWIM peripheral. More...
 
__STATIC_INLINE void nrf_twim_disable (NRF_TWIM_Type *p_reg)
 Function for disabling the TWIM peripheral. More...
 
__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. More...
 
__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. More...
 
__STATIC_INLINE uint32_t nrf_twim_errorsrc_get_and_clear (NRF_TWIM_Type *p_reg)
 Function for checking the TWI error source. More...
 
__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. More...
 
__STATIC_INLINE void nrf_twim_tx_buffer_set (NRF_TWIM_Type *p_reg, uint8_t const *p_buffer, uint8_t length)
 Function for setting the transmit buffer. More...
 
__STATIC_INLINE void nrf_twim_rx_buffer_set (NRF_TWIM_Type *p_reg, uint8_t *p_buffer, uint8_t length)
 Function for setting the receive buffer. More...
 
__STATIC_INLINE void nrf_twim_shorts_set (NRF_TWIM_Type *p_reg, uint32_t shorts_mask)
 
__STATIC_INLINE uint32_t nrf_twim_txd_amount_get (NRF_TWIM_Type *p_reg)
 
__STATIC_INLINE uint32_t nrf_twim_rxd_amount_get (NRF_TWIM_Type *p_reg)
 
__STATIC_INLINE void nrf_twim_tx_list_enable (NRF_TWIM_Type *p_reg)
 Function for enabling the TX list feature. More...
 
__STATIC_INLINE void nrf_twim_tx_list_disable (NRF_TWIM_Type *p_reg)
 Function for disabling the TX list feature. More...
 
__STATIC_INLINE void nrf_twim_rx_list_enable (NRF_TWIM_Type *p_reg)
 Function for enabling the RX list feature. More...
 
__STATIC_INLINE void nrf_twim_rx_list_disable (NRF_TWIM_Type *p_reg)
 Function for disabling the RX list feature. More...
 

Detailed Description

Hardware access layer for managing the TWIM peripheral.

Enumeration Type Documentation

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.

TWIM events.

Enumerator
NRF_TWIM_EVENT_STOPPED 

TWI stopped.

NRF_TWIM_EVENT_ERROR 

TWI error.

NRF_TWIM_EVENT_SUSPENDED 

TWI suspended.

NRF_TWIM_EVENT_RXSTARTED 

Receive sequence started.

NRF_TWIM_EVENT_TXSTARTED 

Transmit sequence started.

NRF_TWIM_EVENT_LASTRX 

Byte boundary, starting to receive the last byte.

NRF_TWIM_EVENT_LASTTX 

Byte boundary, starting to transmit the last byte.

TWIM master clock frequency.

Enumerator
NRF_TWIM_FREQ_100K 

100 kbps.

NRF_TWIM_FREQ_250K 

250 kbps.

NRF_TWIM_FREQ_400K 

400 kbps.

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_LASTRX_MASK 

Interrupt on LASTRX event.

NRF_TWIM_INT_LASTTX_MASK 

Interrupt on LASTTX event.

TWIM shortcuts.

Enumerator
NRF_TWIM_SHORT_LASTTX_STARTRX_MASK 

Shortcut between LASTTX event and STARTRX task.

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_STARTTX_MASK 

Shortcut between LASTRX event and STARTTX task.

NRF_TWIM_SHORT_LASTRX_STOP_MASK 

Shortcut between LASTRX event and STOP task.

TWIM tasks.

Enumerator
NRF_TWIM_TASK_STARTRX 

Start TWI receive sequence.

NRF_TWIM_TASK_STARTTX 

Start TWI transmit sequence.

NRF_TWIM_TASK_STOP 

Stop TWI transaction.

NRF_TWIM_TASK_SUSPEND 

Suspend TWI transaction.

NRF_TWIM_TASK_RESUME 

Resume TWI transaction.

Function Documentation

__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 peripheral registers structure.
[in]addressAddress to be used in transfers.
__STATIC_INLINE void nrf_twim_disable ( NRF_TWIM_Type *  p_reg)

Function for disabling the TWIM peripheral.

Parameters
[in]p_regPointer to the peripheral registers structure.
__STATIC_INLINE void nrf_twim_enable ( NRF_TWIM_Type *  p_reg)

Function for enabling the TWIM peripheral.

Parameters
[in]p_regPointer to the peripheral registers structure.
__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 peripheral registers structure.
Returns
Mask with error source flags.
__STATIC_INLINE uint32_t* nrf_twim_event_address_get ( NRF_TWIM_Type *  p_reg,
nrf_twim_event_t  event 
)

Function for getting the address of a specific TWIM event register.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]eventRequested event.
Returns
Address of the specified event register.
__STATIC_INLINE bool nrf_twim_event_check ( NRF_TWIM_Type *  p_reg,
nrf_twim_event_t  event 
)

Function for checking the state of a specific TWIM event.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]eventEvent to check.
Return values
trueIf the event is set.
falseIf the event is not set.
__STATIC_INLINE void nrf_twim_event_clear ( NRF_TWIM_Type *  p_reg,
nrf_twim_event_t  event 
)

Function for clearing a specific TWIM event.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]eventEvent to clear.
__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 peripheral registers structure.
[in]frequencyTWI frequency.
__STATIC_INLINE void nrf_twim_int_disable ( NRF_TWIM_Type *  p_reg,
uint32_t  int_mask 
)

Function for disabling specified interrupts.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]int_maskInterrupts to disable.
__STATIC_INLINE void nrf_twim_int_enable ( NRF_TWIM_Type *  p_reg,
uint32_t  int_mask 
)

Function for enabling specified interrupts.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]int_maskInterrupts to enable.
__STATIC_INLINE bool nrf_twim_int_enable_check ( NRF_TWIM_Type *  p_reg,
nrf_twim_int_mask_t  int_mask 
)

Function for checking the state of a given interrupt.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]int_maskInterrupt to check.
Return values
trueIf the interrupt is enabled.
falseIf the interrupt is not enabled.
__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 peripheral registers structure.
[in]scl_pinSCL pin number.
[in]sda_pinSDA pin number.
__STATIC_INLINE void nrf_twim_rx_buffer_set ( NRF_TWIM_Type *  p_reg,
uint8_t *  p_buffer,
uint8_t  length 
)

Function for setting the receive buffer.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]p_bufferPointer to the buffer for received data.
[in]lengthMaximum number of data bytes to receive.
__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 peripheral registers structure.
__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 peripheral registers structure.
__STATIC_INLINE void nrf_twim_shorts_disable ( NRF_TWIM_Type *  p_reg,
uint32_t  shorts_mask 
)

Function for disabling specified shortcuts.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]shorts_maskShortcuts to disable.
__STATIC_INLINE void nrf_twim_shorts_enable ( NRF_TWIM_Type *  p_reg,
uint32_t  shorts_mask 
)

Function for enabling specified shortcuts.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]shorts_maskShortcuts to enable.
__STATIC_INLINE uint32_t* nrf_twim_task_address_get ( NRF_TWIM_Type *  p_reg,
nrf_twim_task_t  task 
)

Function for getting the address of a specific TWIM task register.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]taskRequested task.
Returns
Address of the specified task register.
__STATIC_INLINE void nrf_twim_task_trigger ( NRF_TWIM_Type *  p_reg,
nrf_twim_task_t  task 
)

Function for activating a specific TWIM task.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]taskTask to activate.
__STATIC_INLINE void nrf_twim_tx_buffer_set ( NRF_TWIM_Type *  p_reg,
uint8_t const *  p_buffer,
uint8_t  length 
)

Function for setting the transmit buffer.

Parameters
[in]p_regPointer to the peripheral registers structure.
[in]p_bufferPointer to the buffer with data to send.
[in]lengthMaximum number of data bytes to transmit.
__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 peripheral registers structure.
__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 peripheral registers structure.

Documentation feedback | Developer Zone | Subscribe | Updated