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/TMS320F28377S: I2C didn't get response

Part Number: TMS320F28377S

Tool/software: Code Composer Studio

The source code to read one byte by using I2C are following.

Uint8 I2C_Read_Single(Uint8 S_Address,Uint8 R_address){

Uint8 tempdata;

I2cbRegs.I2CSAR.all = S_Address;
I2cbRegs.I2CCNT = 1;
I2cbRegs.I2CDXR.all = R_address;
I2cbRegs.I2CMDR.all = 0x2620;
while(!I2caRegs.I2CSTR.bit.ARDY);
I2cbRegs.I2CCNT = 1;
I2cbRegs.I2CMDR.all = 0x2C20;
while(!I2cbRegs.I2CSTR.bit.SCD);
tempdata= I2cbRegs.I2CDRR.all;
return(tempdata);
}

The slave address is 0x68, register address is 0x75. So The program use I2C_Read_Single(0x68,0x75); to read one byte. But the program is stop to the while(!I2caRegs.I2CSTR.bit.ARDY);  Oscilloscope show the 0xd0 (0x68 left move one bit) and 0x75 are sent. but don't have data back from slave device. The frequency of i2C bus is 45.45Khz. I appreciate if you can help to solve this problem. Thanks.