Hola a todos
Ultimamente llevo tiempo preparando diversos circuitos perifericos para aprender a usar memorias i2c, sensores de temperatura, y ultimamente el ds1307 que me acaba de llegar de china. Mi experiencia con el bus i2c es muy poca y aun estoy aprendiendo leyendome mi libro del pic16f84 desarrollo de proyectos, donde se expone como funciona este bus. Despues he estado buscando por el foro y por la red muchos ejemplos y voy comprendiendolo ya todo, pero aun hay cosas que se me escapan, por ejemplo, a ver si alguien tiene la amabilidad de explicarme la diferencia entre i2c_read() y i2c_read(0)
Esta seria mi primera pregunta, un afectuoso saludo y gracias de antemano
void ds1307_get_date(BYTE &day, BYTE &mth, BYTE &year, BYTE &dow)
{
i2c_start();
i2c_write(0xD0);
i2c_write(0x03); // Start at REG 3 - Day of week
i2c_start();
i2c_write(0xD1);
dow = bcd2bin(i2c_read() & 0x7f); // REG 3 (01111111)
day = bcd2bin(i2c_read() & 0x3f); // REG 4 (00111111)
mth = bcd2bin(i2c_read() & 0x1f); // REG 5 (00011111)
year = bcd2bin(i2c_read(0)); // REG 6
i2c_stop();
}