char ds1307_read_nvram_byte(char addr){
char retval;
#ifndef USE_INTERRUPTS
disable_interrupts(global);
#endif
i2c_start();
i2c_write(0xD0);
i2c_write(addr);
i2c_start();
i2c_write(0xD1);
retval = i2c_read(0);
i2c_stop();
return(retval);
#ifndef USE_INTERRUPTS
enable_interrupts(global);
#endif
}void ds1307_write_nvram_byte(char addr, char value){
#ifndef USE_INTERRUPTS
disable_interrupts(global);
#endif
i2c_start();
i2c_write(0xD0);
i2c_write(addr);
i2c_write(value);
i2c_stop();
#ifndef USE_INTERRUPTS
enable_interrupts(global);
#endif
}
hola amigo Suky :) quiero utilizar tu forma de escribir en la nvran del ds1307 con la que ayudaste a venerable13 pero tengo un problema, cuando utilizo la funcion ds1307_write_nvram_byte(0x08,56); me guarda los datos en la direccion que quiero pero no guarda el valor que se le envia por ejemplo cuando coloco 56 guarda un numero mayor :-/ que pueda estar pasando
ayuda soy nuevo en el foro
Hola, debes tener en cuenta antes que nada los datos a enviar al DS1307