Débordements en langage C

Fermé
flolarajasse Messages postés 103 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 23 juin 2011 - 15 févr. 2010 à 13:06
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 15 févr. 2010 à 14:24
Bonjour,

Je réalise un programme qui doit calculer la durée entre un front montant et un front descendant sur une broche de mon PIC18F4550.Pour cela, j'utilise le Timer1.Celui ci me retourne des valeurs, mais ce ne sont jamais les mêmes ; on m'a dit que c'était peu-être du aux débordements ; pouvez vous m'expliquer de quoi il s'agit car je n'ai pas tout compris, et comment "convertir" la valeur du Timer en une durée?

Merci d'avance =)
A voir également:

6 réponses

flolarajasse Messages postés 103 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 23 juin 2011 14
15 févr. 2010 à 13:31
En effet je me suis mal expliqué ;

Je dois réaliser un programme permettant de calculer la durée entre un front montant et un front descendant d'un signal carré sur une broche de mon pic18F4550 que je fournis grâce à un GBF.La fréquence est quelconque, c'est moi qui la fixe.
Quand j'ai un front montant, je lance le Timer1 et quand j'ai un font descendant, je l'arrête et je lis sa valeur.
Mon problème est qu'il m'affiche des valeurs assez "aléatoires" qui changent même si je laisse la même fréquence.
Je voulais donc savoir de quoi cela pouvait-il venir?
Et ensuite je voulais savoir comment déterminer la durée, car ce n'est pas le résultat du compteur qui est affiché (logique).
En espérant avoir été assez clair...

Merci
1
ptibiloute17 Messages postés 148 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 21 juillet 2013 15
15 févr. 2010 à 13:16
Je comprend pourquoi personne ne te repond car j'ai pas compri ton probleme !

bonne chance !
0
ptibiloute17 Messages postés 148 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 21 juillet 2013 15
15 févr. 2010 à 13:54
bon je ne comprend toujour pas !!! Mais c pas grave !!


A+

PS: pas besoin de tespliquer plus clairement .
0
Bonjour,
Si tu souhaites réellement de l'aide, expliques-nous ce qu'est ton "Timer".
Car à ma connaissance, ce n'est pas un type de donnée C standard.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flolarajasse Messages postés 103 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 23 juin 2011 14
15 févr. 2010 à 14:13
Tu ne sais pas ce qu'est un Timer sur un PIC?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
15 févr. 2010 à 14:24
Salut.
Je crois qu'il y a peu de programmeurs PIC sur ce forum (d'ailleur je n'en suis pas).
De combien elles fluctuent tes valeurs ? Il est possible que que ton GBF ne soit pas stable (à 10 20% près) ou alors tu détectes mal le front. Toute mesure est entâché d'une certain incertitude, si tu fait if(ve>vs) //traitement front montant il y a 9 chance sur 10 que tu captes essentiellement du bruit.
Pour la conversion, il faut voir ce que sort le Timer. En C les timers sont soit en milliseconde soit en cycle. Il faut alors trouver la durée d'un cycle. Le mieux est de se référer à la documentation.
0