RTC DS3231 no realiza bucle después de inicializar.
Estoy tratando de usar el RTC DS3231, pero no hace un bucle después de la inicialización en void setup()
. Solo he probado los códigos de ejemplo hasta ahora:
/*
DS3231: Reloj en tiempo real. Formato de fecha.
Leer más: www.jarzebski.pl/arduino/komponenty/zegar-czasu-rzeczywistego-rtc-ds3231.html
GIT: https://github.com/jarzebski/Arduino-DS3231
Web: http://www.jarzebski.pl
(c) 2014 por Korneliusz Jarzebski
*/
#include <wire.h>
#include <ds3231.h>
DS3231 clock;
RTCDateTime dt;
void setup()
{
Serial.begin(9600);
// Inicializar DS3231
Serial.println("Inicializar DS3231");
clock.begin();
// Establecer la hora de compilación del sketch
clock.setDateTime(DATE, TIME);
// Establecer desde la marca de tiempo UNIX
// clock.setDateTime(1397408400);
// Manual (AAAA, MM, DD, HH, II, SS)
// clock.setDateTime(2014, 4, 13, 19, 21, 00);
}
void loop()
{
dt = clock.getDateTime();
Serial.print("Formato largo de número: ");
Serial.println(clock.dateFormat("d-m-Y H:i:s", dt));
Serial.print("Formato largo con nombre del mes: ");
Serial.println(clock.dateFormat("d F Y H:i:s", dt));
Serial.print("Formato corto con modo de 12h: ");
Serial.println(clock.dateFormat("jS M y, h:ia", dt));
Serial.print("Hoy es: ");
Serial.print(clock.dateFormat("l, z", dt));
Serial.println(" días del año.");
Serial.print("El mes actual tiene: ");
Serial.print(clock.dateFormat("t", dt));
Serial.println(" días.");
Serial.print("Unixtime: ");
Serial.println(clock.dateFormat("U", dt));
Serial.println();
delay(1000);
}
La salida se ve así:
10:15:16.623 -> Inicializar DS3231
¿Significa eso que no funciona en absoluto? ¿O que no continúa haciendo un bucle después de llamar a void setup
?
Cualquier ayuda sería apreciada, eso no puede ser un problema tan grande…</ds3231.h></wire.h>
davy.ai
Basado en el código y la salida proporcionados, parece que el RTC DS3231 se ha inicializado correctamente en la función void setup(). Sin embargo, la función loop() parece ejecutarse solo una vez y luego esperar 1000 milisegundos antes de ejecutarse nuevamente. Este es un comportamiento normal para este código, ya que solo está destinado a leer y mostrar la fecha y hora actuales del RTC una vez por segundo.
Es posible que haya un problema con el cableado o la comunicación entre el Arduino y el RTC, pero sin más información es difícil determinar la causa raíz del problema. Si se necesita más ayuda, puede ser útil proporcionar detalles adicionales como el diagrama de cableado y cualquier mensaje de error recibido.