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

nRF52832 NRF_ERROR_BUSY from nrf_drv_twi_tx()

i used aplication twi_sensor form nRF5_SDK_12.3.0_d7731ad and i use s132.i conected mpu9060 every time get error on my terminl NRF_ERROR_BUSY.There is exemle of codemain.c and scren from terminal d324ssa42d3434234.png what i do wrong?

new main main.c and new terminal d38dkvjxcfk0965234.png i get msg sucses but i have not value from register. i have same resalt without mpu

this is variant main.c as you sad.i get msg sucses but i have not value from register. i have same resalt without mpu

Parents
  • i put while(!m_xfer_done) before m_xfer_done = false but. ihve same resalt

    ret_code_t mpu_6050_I2C_register_read( uint8_t reg_addr, uint8_t * p_rx_data, uint32_t bytes) { ret_code_t ret_code;

    ret_code = nrf_drv_twi_tx(&m_twi_mpu_6050,MPU_6050_I2C_ADDR, &reg_addr, 1, false);
    
    if(ret_code != NRF_SUCCESS)
    {
        return ret_code;
    }
    while(!m_xfer_done);
    m_xfer_done = false;
    ret_code = nrf_drv_twi_rx(&m_twi_mpu_6050, MPU_6050_I2C_ADDR, p_rx_data, bytes);
    return ret_code;
    

    }

Reply
  • i put while(!m_xfer_done) before m_xfer_done = false but. ihve same resalt

    ret_code_t mpu_6050_I2C_register_read( uint8_t reg_addr, uint8_t * p_rx_data, uint32_t bytes) { ret_code_t ret_code;

    ret_code = nrf_drv_twi_tx(&m_twi_mpu_6050,MPU_6050_I2C_ADDR, &reg_addr, 1, false);
    
    if(ret_code != NRF_SUCCESS)
    {
        return ret_code;
    }
    while(!m_xfer_done);
    m_xfer_done = false;
    ret_code = nrf_drv_twi_rx(&m_twi_mpu_6050, MPU_6050_I2C_ADDR, p_rx_data, bytes);
    return ret_code;
    

    }

Children
No Data
Related