Никак не повлияло. Попробовал сделать
Код:
i2c2_data[512]={0x78,1,2,3,4};
то есть, в нулевой элемент массива вкатил адрес устройства, и в обработчике сделал так, чтобы адрес читался из нулевого элемента массива
Код:
if(sr1 & I2C_SR1_SB ){
I2C2->DR = i2c2_data[0];
}
Вот эта ерундовина отправляет то, что я хочу увидеть, но я не хочу записывать адрес в массив.
Добавлено after 8 minutes 56 seconds:Проблему решил. Если кому пригодится, то в тело условия проверки флага старта добавил обнуление переменной i2c2_cnt = 0;
Код:
if(sr1 & I2C_SR1_SB ){
i2c2_cnt = 0;
I2C2->DR = OLED_ADDR;
}