TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: JorgitoFRyOle en 18 de Abril de 2005, 11:39:00
-
Buenas a tos:
Os queria pedir ayuda de nuevo con el reloj ds1305, necesito que me funcione en mi proyecto y yevo un tiempo estancado con el.
Creo que mi problema esta en escribir y leer del reloj
Os mando mis rutinas y asi podeis decirme vuestra opinion sobre ellas, si creeis que van bien o no?
void DS1305_escribe(BYTE direccion, BYTE dato)
{
output_low(DS1305_CS);
spi_write(direccion);
spi_write(dato);
output_high(DS1305_CS);
delay_ms(15);
}
-----------------------------------
BYTE DS1305_lee(BYTE direccion)
{
output_low(DS1305_CS);
spi_write(direccion);
dato = spi_read(0);
output_high(DS1305_CS);
return(dato);
}
---------------------------------------------
void DS1305_inicio()
{
BYTE x;
output_high(DS1305_CS);
output_low(DS1305_SCLK);
output_low(DS1305_SDI);
output_low(DS1305_SDO);
setup_spi(SPI_MASTER | SPI_H_TO_L | SPI_CLK_DIV_16);
output_low(DS1305_CS);
DS1305_escribe(direcc_reg_control,0);
DS1305_escribe(direcc_reg_trickle,166);
x = DS1305_lee(direcc_reg_control);
if (bit_test(x,7) != 0)
DS1305_escribe(direcc_reg_control,0);
output_high(DS1305_CS);
}
A ver si me podeis exar una mano. Os lo agradeceria bastante
1Saludo, Jorge