Tengo un RTC elaborado en casa con DS1307 . Puse dos resistencias pullup en las líneas SDA y SCL, las conecté al Arduino 5 y 6 pin respectivamente. También proporcioné una batería de respaldo ya que en ocasiones leo que el RTC puede bloquearse si no hay un voltaje de respaldo adecuado. El programa arduino cuelga en la instrucción:
int err = Wire.endTransmission();
Supongo que no hay respuesta del dispositivo, por lo que los SW esperan indefinidamente.
Extrañamente, si elimino las conexiones I2C, endOfTrasmission devuelve un código de error NACK (lo digo de forma extraña porque es mejor esperar un bloqueo sin ningún dispositivo conectado).
No tengo idea de qué probar, sospecho que el DS1307 está dañado por alguna prueba aventurera en el intercambio de datos A5-A6
pero no tengo idea de cómo hacer este diagnóstico.