Hola gente, como andan? Bueno les cuento que estoy intentando acoplar este RTC a un pic 18f452 para mostrar la hora en un lcd. El problema es que no termino de entender bien la rutina I2C que tiene mi compilador de ejemplo. Dcho sea de paso, es Hi-Tech C18.
El RTC ds1307 almacena los segundos, minutos, horas, dias, etc...cada uno en un registro de 8 bits. Cuando comienzo con la lectura, el RTC envia el primer dato (los segundos) y por cada lectura que haga, envia el proximo registro. Hasta ahi todo bien.
El problema es que no se como hacer para posicionar el registro de direccion. Cuando lo escribo por primera ves, funciona todo correcto. Se posiciona donde yo quiero. Pero despuesto cuando hago un i2c_stop() y comienzo a leer de vuelta, el registro de direccion quedo situado en el ultimo byte usado.
Existe alguna forma de volver este registro a 0, osea la primer direccion en memoria, sin tener que leer toda la memoria del RTC?
El RTC ds1307 almacena los segundos, minutos, horas, dias, etc...cada uno en un registro de 8 bits. Cuando comienzo con la lectura, el RTC envia el primer dato (los segundos) y por cada lectura que haga, envia el proximo registro. Hasta ahi todo bien.
El problema es que no se como hacer para posicionar el registro de direccion. Cuando lo escribo por primera ves, funciona todo correcto. Se posiciona donde yo quiero. Pero despuesto cuando hago un i2c_stop() y comienzo a leer de vuelta, el registro de direccion quedo situado en el ultimo byte usado.
Existe alguna forma de volver este registro a 0, osea la primer direccion en memoria, sin tener que leer toda la memoria del RTC?
Última edición: