Interrupt

group group_scb_i2c_interrupt_functions

Functions

void Cy_SCB_I2C_Interrupt(CySCB_Type *base, cy_stc_scb_i2c_context_t *context)

This is the interrupt function for the SCB configured in the I2C mode.

The interrupt is mandatory for I2C operation and this function must be called inside the user-defined interrupt service. The exception is the I2C master, which uses only the Master Low-Level functions. To reduce the flash consumed by the I2C driver call Cy_SCB_I2C_SlaveInterrupt when I2C mode is the slave and Cy_SCB_I2C_MasterInterrupt when I2C mode is the master.

Parameters
  • base: The pointer to the I2C SCB instance.

  • context: The pointer to the context structure cy_stc_scb_i2c_context_t allocated by the user. The structure is used during the I2C operation for internal configuration and data retention. The user must not modify anything in this structure.

void Cy_SCB_I2C_SlaveInterrupt(CySCB_Type *base, cy_stc_scb_i2c_context_t *context)

This is the interrupt function for the SCB configured in I2C mode as the slave.

This function should be called inside the user-defined interrupt service routine to make any of the slave functions to work.

Parameters
  • base: The pointer to the I2C SCB instance.

  • context: The pointer to the context structure cy_stc_scb_i2c_context_t allocated by the user. The structure is used during the I2C operation for internal configuration and data retention. The user must not modify anything in this structure.

void Cy_SCB_I2C_MasterInterrupt(CySCB_Type *base, cy_stc_scb_i2c_context_t *context)

This is the interrupt function for the SCB configured in I2C mode as the master.

This function should be called inside the user-defined interrupt service routine to make Master High-Level functions to work.

Parameters
  • base: The pointer to the I2C SCB instance.

  • context: The pointer to the context structure cy_stc_scb_i2c_context_t allocated by the user. The structure is used during the I2C operation for internal configuration and data retention. The user must not modify anything in this structure.

__STATIC_INLINE void Cy_SCB_I2C_RegisterEventCallback (CySCB_Type const *base, cy_cb_scb_i2c_handle_events_t callback, cy_stc_scb_i2c_context_t *context)

Registers a callback function that notifies that I2C Callback Events occurred in the Cy_SCB_I2C_Interrupt.

note

To remove the callback, pass NULL as the pointer to the callback function.

Parameters
  • base: The pointer to the I2C SCB instance.

  • callback: The pointer to a callback function. See cy_cb_scb_i2c_handle_events_t for the function prototype.

  • context: The pointer to context structure cy_stc_scb_i2c_context_t allocated by the user. The structure is used while the I2C operation for internal configuration and data retention. The user should not modify anything in this structure.

__STATIC_INLINE void Cy_SCB_I2C_RegisterAddrCallback (CySCB_Type const *base, cy_cb_scb_i2c_handle_addr_t callback, cy_stc_scb_i2c_context_t *context)

Registers a callback function that notifies that I2C Address Callback Events occurred in the Cy_SCB_I2C_Interrupt.

note

To remove the callback, pass NULL as the pointer to a callback function.

Parameters
  • base: The pointer to the I2C SCB instance.

  • callback: The pointer to a callback function. See cy_cb_scb_i2c_handle_addr_t for the function prototype.

  • context: The pointer to context structure cy_stc_scb_i2c_context_t allocated by the user. The structure is used during the I2C operation for internal configuration and data retention. The user should not modify anything in this structure.