Autor Tema: reloj DS1307  (Leído 2655 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado fgelec

  • PIC10
  • *
  • Mensajes: 21
reloj DS1307
« en: 20 de Marzo de 2007, 09:51:34 »
Tengo un proyecto armado con un DS1307, funciona perfectametne!!... pero!!.. cuando le coloco la pila de Back-up se tilda el ds1307, si se la saca anda perfectametne..... a alguien le paso algo asi???.
La polaridad esta bien,
Fer

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: reloj DS1307
« Respuesta #1 en: 20 de Marzo de 2007, 11:27:31 »
El DS1307 es muy usado por los foreros, y es la primera vez que se de lo que te pasa...
Lo que es perdida de configuracion si que me paso un par de veces.. pero eso no.

http://www.todopic.com.ar/foros/index.php?topic=14917.40
Saludos desde Granada, España.

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: reloj DS1307
« Respuesta #2 en: 24 de Marzo de 2007, 07:57:52 »
¿Las pruebas es en la placa o en el proto? a ver si va ser la pista de la placa que hace que se ponga en reset.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Marioguillote

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: reloj DS1307
« Respuesta #3 en: 24 de Marzo de 2007, 08:51:38 »
Hola a todos !

Hola Fer.

La unica vez que me pasó eso, era cuando le ponía un 1n4148 en serie con la batería. No había forma de que funcione el DS1307. Le saqué el diodo, la conecté directa y funcionó.
Luego me hizo otra falla, de que no lo podía programar estando con la batería conectada.
Debía desconectarla, programarlo y estando en funcionamiento añadirle la batería.
Respuesta a ésto no obtuve, ni deduje, sólo descubrí que me hacía la falla, pero al encontrarle solución, lo dejé así, ya que estaba haciendo unas pruebas para mí nada más.

Fíjate que la batería tenga buena carga.

Saludos
Mario

Desconectado rogeliogamberro

  • PIC10
  • *
  • Mensajes: 34
Re: reloj DS1307
« Respuesta #4 en: 24 de Diciembre de 2008, 02:08:06 »
Hola a Todos!

Antes que nada quiero agradecerles a todos los que han aportado información sobre el tema. He utilizado estas librerias en un 18f452 sin inconvenietes salvo el siguiente detalle en la rutina de configuracion de fecha y hora:

Las variables utilizadas en el programa compilado en CCS son:
fecha
  • -> Dia

fecha [1] -> Mes
fecha [2] -> Año
fecha [3] -> Dia de la Semana (cualquier valor por no ser utilizado. En mi caso = 2)
hora
  • -> Hora

hora [1] -> Min
hora [2] -> Seg

La rutina realiza las siguiente acciones:

1) Lee mediante ds1307_get_date(fecha
  • ,fecha [1],fecha [2],fecha [3]); y ds1307_get_time(hora
  • ,hora [1],hora [2]); los datos actuales y los presenta en un display.

3) Si el usuario produce un cambio de una de estas variables se controla que:

0 < Dia =< 31 (Entre 1 y 31)
0 < Mes =< 12 (Entre 1 y 12)
0 <= Año <= 99 (Entre 0 y 99)
0 <= Hora < 24 (Entre 0 y 23)
0 <= Min y Seg <60 (Entre 0 y 59)

4)  y se invoca a la funcion ds1307_set_date_time(fecha
  • ,fecha [1],fecha [2],fecha [3],hora
  • ,hora [1],hora [2]);

5) Luego se vuelve al paso 1) apareciendo en pantalla los valores actualizados.

Mi pregunta (conceptual) es:

Si yo ingreso por ejemplo como fecha el 30 de febrero (Fecha Erronea) porque el RTC lo escribe y continua avanzando desde esa fecha? Existe alguna forma o algun registro para conocer si hay algun error o exepcion ya que sino deberia tener un calendario incorporado en mi programa para testear esos casos especiales que la verificacion detallada anteriormente no contempla.
Agradezco sus propuestas de solucion y les deseo una Feliz Navidad y un prospero Año Nuevo.


 

anything