Autor Tema: Duda con instrucciones en libreria DS1307.c (CCS)  (Leído 1810 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado smrz

  • PIC10
  • *
  • Mensajes: 20
Duda con instrucciones en libreria DS1307.c (CCS)
« en: 11 de Enero de 2013, 12:47:40 »
Buenas,

Estaba mirando la librería del DS1307 y a la hora de grabar un nuevo dato, hace:
sec &= 0x7F;
 hr &= 0x3F;

Imagino que una de las funciones será poner a 1 el bit más alto en la hora para que tenga formato 24h, pero... ¿con estas líneas también se logra que la cuenta al llegar a 23:59:59 pase a 00:00:00?



Código: [Seleccionar]
void ds1307_set_date_time(BYTE day, BYTE mth, BYTE year, BYTE dow, BYTE hr, BYTE min, BYTE sec)
{
  sec &= 0x7F;
  hr &= 0x3F;

  i2c_start();
  i2c_write(0xD0);            // I2C write address
  i2c_write(0x00);            // Start at REG 0 - Seconds
  i2c_write(bin2bcd(sec));      // REG 0
  i2c_write(bin2bcd(min));      // REG 1
  i2c_write(bin2bcd(hr));      // REG 2
  i2c_write(bin2bcd(dow));      // REG 3
  i2c_write(bin2bcd(day));      // REG 4
  i2c_write(bin2bcd(mth));      // REG 5
  i2c_write(bin2bcd(year));      // REG 6
  i2c_write(0x80);            // REG 7 - Disable squarewave output pin
  i2c_stop();
}

Saludos!!
En resumen... senos y cosenos