Pages: [1]   Go Down
Author Topic: Dudas uso RTClib  (Read 967 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas tardes,
Tengo unas dudas acerca del uso de la libreria. He leido la documentacion oficial y los ejemplos.
Duda 1: He usado el código de ejemplo de la RTCLIB el DS1307. El sketch muestra como mediante la order RTC.adjust(__DATE__,__TIME__); coje las dos viariables del compilador y las actualiza como la hora del reloj del arduino. Para hacer mis pruebas he intentado, cambiando la hora del ordenador, reiniciando etc, falsear la hora. No he tenido éxito. Por alguna razon me deja la misma. La unica forma de trucarlo es despinchar todo de la breadboard y quitarle la pila al RTC. Así si que he podido.
¿Por que no me funciona?

Duda 2: ¿Qué argumento le tendo que pasar para poner una hora en concreto con RTC.adjust(fecha, hora) ? Que formato tienen que tener que no para de darme error?

Gracias
Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 41
Posts: 2182
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Para ver el formato que recibe, por que no lo imprimes? Es decir, imprime __DATE__ poel puerto serie y ya conoces lo que espera la función.
Logged

   

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Para ver el formato que recibe, por que no lo imprimes? Es decir, imprime __DATE__ poel puerto serie y ya conoces lo que espera la función.

 smiley-eek
Perfect!

Serial.print("Formato: "); Serial.println(__DATE__); Serial.print(" ");Serial.println(__TIME__);Serial.println();

Da como resultado:

Formato: Mar  9 2013
 20:28:40

Gracias por la idea. Ahora por que será que no me actualiza esos datos hasta que no le quito la pila al reloj???


EDITADO. Vale me respondo yo, hay un error en el programa de adafruit

Hay que cambiar esto
    if (RTC.isrunning()) {
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
    }
    else{
    Serial.println("RTC is NOT running!");
    }
 
O escribirlo sin una de las llaves
   if (! RTC.isrunning())
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  
Esto es como viene.
 if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
« Last Edit: March 09, 2013, 02:58:40 pm by conander » Logged

Pages: [1]   Go Up
Jump to: