cancel
Showing results for 
Search instead for 
Did you mean: 

ADDR10 flag is set when sending 7 bit address

Dioswilson
Associate II

I am using LL library on STM32F446 for an I2C master, I am trying to comunicate with a device with 0x7B address, after sending the address I don't get the ADDR flag, insted I get ADDR10
Here is my interrupt code:

    if (LL_I2C_IsActiveFlag_SB(I2C1)) {
        LL_I2C_TransmitData8(I2C1, 0x7B << 1);
    }
    if (LL_I2C_IsActiveFlag_ADD10(I2C1)) {
        LL_I2C_TransmitData8(I2C1, 12);
    }

With this code I successfully send the "12" value.
Here logic analizer's output:

Dioswilson_0-1735422639975.png
If I try to detect ADDR "0C" byte is never sent. How could I fix this issue (I could just keep checking ADDR10, but subopimal)

 

0 REPLIES 0