Bug des seconde DS 1307

Bonjour je rencontre un souci avec ma RTC:
en voulant faire un déclenchement a heur précise , je me suis aperçu que mon programme bugger a 9H et 6min

je m'explique : je voulait que le déclenchement se produise a la seconde prés par rapport a une heur fix

heure de consigne a 7H35min 20sec
et mon programme planter des que je considérer dans la vérification, les secondes!

j'ai donc procéder a l’addition suivante t=heur3600+min60+sec , et j'ai pus constater qu'a 9H6min et quelque seconde le résultat passer
de environ 32767 a 4294934520 et bien sur le problème provoque un bug dans mes déclenchement et arrêt.
quelqu'un a t'il déjà rencontrer ce problème ?
car la je bloque vraiment j'ai aucune piste pour chercher la source de l'erreur!
merci d'avance

Heloderma-kris:
Bonjour je rencontre un souci avec ma RTC:
en voulant faire un déclenchement a heur précise , je me suis aperçu que mon programme bugger a 9H et 6min

je m'explique : je voulait que le déclenchement se produise a la seconde prés par rapport a une heur fix

heure de consigne a 7H35min 20sec
et mon programme planter des que je considérer dans la vérification, les secondes!

j'ai donc procéder a l’addition suivante t=heur3600+min60+sec , et j'ai pus constater qu'a 9H6min et quelque seconde le résultat passer
de environ 32767 a 4294934520 et bien sur le problème provoque un bug dans mes déclenchement et arrêt.
quelqu'un a t'il déjà rencontrer ce problème ?
car la je bloque vraiment j'ai aucune piste pour chercher la source de l'erreur!
merci d'avance

bonjour
ça ressemble à un debordement, le résultat de l'addition est définit comment , quel type ?
mets le code ici

32767 c'est la limite d'un int.
Pour faire des calcul de temps il faut utiliser des long.
On a abordé le sujet la semaine passée voir là : http://arduino.cc/forum/index.php/topic,96988.0.html

j'y avais bien penser mais il semble que sa ne viene pas directement de mon code enfin le voici :

unsigned long temps(){
  unsigned long resultat;
  rtc.get(&sec, &min, &hour, &day, &month, &year);
  resultat=((hour*3600)+(min*60)+sec);
  return resultat;
}

Edit de Jean-François : entre les balises code la prochaine fois :wink:

La réponse était dans le lien que j'ai donné

unsigned long temps(){
  unsigned long resultat;
  rtc.get(&sec, &min, &hour, &day, &month, &year);
  resultat=((hour*3600L)+(min*60L)+sec);
  return resultat;
}

arf zut j'avais j'avais oublier les" L" a la fin des multiplicateur c'est effectivement de là que venais le probléme c'est fou pour un tout pti "L" ce que sa peut faire le bordel :0
en tout cas merci pour ton aide fdufnews une nouvelle foi!
et merci Jean François pour la modif du poste !