En mi sistema, estoy usando I2C y me doy cuenta de que bajo una gran carga de interrupción (de otras fuentes), la comunicación I2C se interrumpe fácilmente. ¿Es este comportamiento esperado para I2C? Hubiera esperado a pesar de la carga de interrupción, todavía estaría bien ya que I2C no es exactamente una interfaz de tiempo crítico, el reloj se proporciona con datos.
Actualizar:
El procesador es STM32. Las interrupciones se deben a ADC, no puedo desactivar las interrupciones durante los eventos de lectura, por lo tanto, debo encontrar una solución donde pueda hacer que la comunicación i2c sea más estable. El STM32 es maestro y el esclavo es otro dispositivo (acelerómetro).
Actualización2:
Cuando conecto un analizador lógico al reloj con un pequeño cable volador, el problema desaparece. Curiosamente, no hay carga de interrupción, leer y escribir funciona bien, cuando hay carga de interrupción, no lo hacen. Sin embargo, si conecto la sonda al reloj, leer y escribir también funciona bajo carga de interrupción. Creo que hay un problema de capacitancia en alguna parte.