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.

TMS570LS3137: I2C is not working

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Hello,

I am development a library for "TLE493D-A2B6" but I could not run I2C I'm measuring with an oscilloscope, but the I2C and SDA lines never works, they always stay high

I've attached the code I wrote below.

static void i2cInitHal(void)
{
    // I2C0 modülünü başlat
    i2cInit();

    // I2C0 modülünü master modunda ayarla
    i2cSetMode(i2cREG1, I2C_MASTER);

    // I2C0 modülünün hızını 100kHz olarak ayarla
    i2cSetOwnAdd(i2cREG1, I2C_SLAVE_ADDRESS);
    i2cSetSlaveAdd(i2cREG1, I2C_SLAVE_ADDRESS);
    i2cSetBaudrate(i2cREG1, 100);
}

static void i2cSendData(uint8 *data, uint32 length)
{
    // Veriyi I2C0 üzerinden gönder
    i2cSetDirection(i2cREG1, I2C_TRANSMITTER);
    i2cSetCount(i2cREG1, length);
    i2cSetMode(i2cREG1, I2C_MASTER);
    i2cSetStop(i2cREG1);
    i2cSetStart(i2cREG1);
    i2cSend(i2cREG1, length, data);
    while (i2cIsBusBusy(i2cREG1) == true)
        ;
    while (i2cIsStopDetected(i2cREG1) == 0)
        ;
    i2cClearSCD(i2cREG1);
}

static void i2cReceiveData(uint8 *data, uint32 length)
{
    // Veriyi I2C0 üzerinden al
    i2cSetDirection(i2cREG1, I2C_RECEIVER);
    i2cSetCount(i2cREG1, length);
    i2cSetMode(i2cREG1, I2C_MASTER);
    i2cSetStart(i2cREG1);
    i2cReceive(i2cREG1, length, data);
    while (!i2cIsRxReady(i2cREG1))
        ;
    i2cSetStop(i2cREG1);
    while (i2cIsStopDetected(i2cREG1) == 0)
        ;
    i2cClearSCD(i2cREG1);
}

Code gets stuck in "while ((i2c->STR & (uint32)I2C_TX_INT) == 0U)" inside function "void i2cSend(i2cBASE_t *i2c, uint32 length, uint8 * data)"

And halcogen configuration 

could you help me how i can solve the problem