This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CC2650: I2C master is always busy

Part Number: CC2650

Tool/software: Code Composer Studio

I want to send a single byte via I2C with CC2650 as master but it is always  stuck at this line :     if(HWREG(I2C0_BASE + I2C_O_MSTAT) & I2C_MSTAT_BUSY) from i2c.h. 

This is my code : 

void I2CdataTransfer()
{

    PRCMPowerDomainOn(PRCM_DOMAIN_PERIPH);

        Power_setDependency(PowerCC26XX_PERIPH_I2C0);
        // Set Power dependecies & constraints
        Power_setDependency(PowerCC26XX_PERIPH_GPIO);

        /* Set constraints for Standby, powerdown and idle mode */
        Power_setConstraint(PowerCC26XX_SB_DISALLOW);
        Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);

        PRCMLoadSet();
        PRCMPeripheralRunEnable(PRCM_PERIPH_I2C0); // Enable I2C module
        PRCMPeripheralRunEnable(PRCM_PERIPH_GPIO);
        PRCMLoadSet();

        PINCC26XX_setMux(i2cPinHandle, Board_I2C0_SDA0, IOC_PORT_MCU_I2C_MSSDA);
        PINCC26XX_setMux(i2cPinHandle, Board_I2C0_SCL0, IOC_PORT_MCU_I2C_MSSCL);


    I2CMasterInitExpClk(I2C0_BASE,SysCtrlClockGet(),false);
    I2CMasterEnable(I2C0_BASE);
    I2CMasterSlaveAddrSet(I2C0_BASE, 0x38, false);
    I2CMasterDataPut(I2C0_BASE, 0xAA);
    I2CMasterControl(I2C0_BASE, I2C_MASTER_CMD_SINGLE_SEND);
    while(I2CMasterBusy(I2C0_BASE));
}

Thank you!