¿Está permitido detener y restaurar la transmisión I2C? Me gustaría detenerlo en diferentes períodos de transmisión y luego, por ejemplo, después de 500 ms, restaurarlo al estado en que se detuvo. Estoy pensando en habilitar y deshabilitar las transiciones SCL. Si está permitido, ¿es una mala práctica?
La velocidad mínima del bus para todos los modos I 2 C es 0 Hz. Esto significa que es válido en la especificación I 2 C dejar de pulsar el reloj (funcionamiento estático).
Sin embargo, esto no significa que los esclavos también deban soportar el funcionamiento estático; pueden tener tiempos de espera internos que pueden transcurrir antes de que se reanuden las comunicaciones. Siempre revise la hoja de datos de cualquier dispositivo esclavo I 2 C para verificar que admitan el funcionamiento estático.
Creo que cada I2C debe ser un diseño completamente estático debido al estiramiento del reloj.
EDITAR:
El estiramiento del reloj también está permitido para los maestros. Además, no importa quién lo haya causado, tanto el amo como el esclavo, deben manejarlo correctamente. 5 horas tampoco es razonable, pero aún está dentro de las especificaciones.
rberteig
SCL
afirmado y mantenido bajo. Por lo general, no hay recuperación de esa condición. Si necesita una recuperación confiable en un perro guardián, tenga cuidado con dispositivos como ese.