Я пытаюсь запрограммировать stm32 для связи с моим i2c EEprom, но, похоже, каждый раз я говорю:
I2C_GenerateSTART(I2C1, ENABLE);
while( !(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) ); the code hangs here
Я прошел с отладчиком и обнаружил, что флаг бита 0 SR1 (который является сгенерированным флагом начального бита) не установлен, поэтому код зависает. Я могу видеть в осциллографе, что бит старта был сгенерирован, и это иногда работает. это обычно ломается, когда я пытался сделать несколько записей подряд. Я проверил HW, все выглядит нормально, я проверил частоту, которую я использую на шине i2c, она составляет 100 кГц в диапазоне 24lc1025.
любые идеи,
спасибо