This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Problem using I2C in unblocked mode

Hi,

 

I am using nrf SDK version 12.2.0

The following code fails to produce event for twi transfer complete

        const nrf_drv_twi_config_t config =
        {
           .scl                = I2C2_SCL_PIN,
           .sda                = I2C2_SDA_PIN,
           .frequency          = NRF_TWI_FREQ_100K,
           .interrupt_priority = APP_IRQ_PRIORITY_HIGH,
           .clear_bus_init     = false
        };

        ret = nrf_drv_twi_init(&m_twi_master2,
                               &config,
                               I2C_twi_evt2_handler,
                               NULL);

        if (NRF_SUCCESS == ret)
        {
            nrf_drv_twi_enable(&m_twi_master2);
            I2C_Master2Initialized = true;
        }

      ret = nrf_drv_twi_tx(&m_twi_master2,
                           dev_addr,
                           pdata,
                           size,
                           no_stop);

I2C_twi_evt2_handler  is never called.

When I move to blocked mode the transfer completes without error.

What may be wrong?

Thanks

Parents Reply Children
Related