Débordements en langage C

flolarajasse Messages postés 103 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention   14
 
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   Statut Membre Dernière intervention   15
 
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   Statut Membre Dernière intervention   15
 
bon je ne comprend toujour pas !!! Mais c pas grave !!


A+

PS: pas besoin de tespliquer plus clairement .
0
swed
 
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   Statut Membre Dernière intervention   14
 
Tu ne sais pas ce qu'est un Timer sur un PIC?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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