Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Mesurer la durée d'une opération avec un timer
-
Marty_and_Doc
Membre- Messages : 2
- Enregistré en : février 2016
Bonjour,
Je cherche à mesurer la durée d'une instruction d'un PIC18F452 avec le TIMER0.
Pour l'instant j'ai mesurer la valeur de TMROL (3) mais je ne sais pas comment déterminer la durée en secondes grâce à ça
Voici le code:
Quelqu'un pourrait m'aider ?
Merci d'avance pour vos réponse
EDIT: voila la Datasheet du PIC
http://ww1.microchip.com/downloads/en/D ... 39564c.pdf
Je cherche à mesurer la durée d'une instruction d'un PIC18F452 avec le TIMER0.
Pour l'instant j'ai mesurer la valeur de TMROL (3) mais je ne sais pas comment déterminer la durée en secondes grâce à ça
Voici le code:
Code : Tout sélectionner
#include <p18f452.h>
#include "fonc.h"
#pragma config OSC = HS
#pragma config PWRT = ON
#pragma config BOR = OFF
#pragma config WDT = OFF
#pragma config DEBUG = ON
#pragma config LVP = OFF
void main(void)
{
double va;
TRISD = 0x00;
PORTD = 0x00;
T0CON = 0b01000110;
TMR0L = 0;
INTCONbits.TMR0IF = 0;
T0CONbits.TMR0ON = 1;
va = 11.3/26.89;
T0CONbits.TMR0ON = 0;
Quelqu'un pourrait m'aider ?
Merci d'avance pour vos réponse
EDIT: voila la Datasheet du PIC
http://ww1.microchip.com/downloads/en/D ... 39564c.pdf
Modifié en dernier par Marty_and_Doc le mar. 23 févr. 2016 20:40, modifié 1 fois.
Mesurer la durée d'une opération avec un timer
-
Jérémy
Administrateur du site- Messages : 2727
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir Marty_and_Doc ,
Bienvenue sur le forum fantasPIC.
Pour faire mon rabat-joie, je te propose de mettre le lien vers la Data-sheet de ton PIC pour faciliter la réponses des forumeurs : suivre ce lien . tu devrais pouvoir éditer ton post ( le petit crayon en haut à droite)
Il faudrait également précisé ton environnement de travail ? je penche pour MikroC ?
Après j'avoue ne pas avoir trop compris ta question ? Le temps d'une instruction il me semble est en rapport avec l'Oscillateur utilisé . Une instruction demande 4 coups d'horloge . l'horloge étant déterminé par le quartz ou l'OSC.
Je laisse un expert approfondir, je ne suis pas forcement très sûr de moi !
Bienvenue sur le forum fantasPIC.
Pour faire mon rabat-joie, je te propose de mettre le lien vers la Data-sheet de ton PIC pour faciliter la réponses des forumeurs : suivre ce lien . tu devrais pouvoir éditer ton post ( le petit crayon en haut à droite)
Il faudrait également précisé ton environnement de travail ? je penche pour MikroC ?
Après j'avoue ne pas avoir trop compris ta question ? Le temps d'une instruction il me semble est en rapport avec l'Oscillateur utilisé . Une instruction demande 4 coups d'horloge . l'horloge étant déterminé par le quartz ou l'OSC.
Je laisse un expert approfondir, je ne suis pas forcement très sûr de moi !
Mesurer la durée d'une opération avec un timer
Mesurer la durée d'une opération avec un timer
-
Marty_and_Doc
Membre- Messages : 2
- Enregistré en : février 2016
maï a écrit :bonsoir
Je ne sais pas si c'est un exercice ou un besoin .
car le timer sans passer par un diviseur va battre(decompter) au rythme de ce que tu veux mesurer.
un peu plus d'explication peut-être.
Il y a bien une possibilité par l’oscillateur externe quelle est le but?
Bonsoir,
En fait il s'agit d'un exercice, je dois mesurer la durée d'une opération grâce à un Timer,
je pense avoir réussit à mesurer la durée , le problème c'est juste la conversion en secondes,
J'ai configurer le timer en 8bits, la prescaler value à 128 et j'ai une periode Tcycle de 0.4 micro secondes
Une idée sur le calcul à accomplir ?
Mesurer la durée d'une opération avec un timer
Marty_and_Doc a écrit :En fait il s'agit d'un exercice, je dois mesurer la durée d'une opération grâce à un Timer,
je pense avoir réussit à mesurer la durée , le problème c'est juste la conversion en secondes,
J'ai configurer le timer en 8bits, la prescaler value à 128 et j'ai une periode Tcycle de 0.4 micro secondes
Une idée sur le calcul à accomplir ?
C'est quoi "opération" ?
Le temps, représenté par la valeur N dans TMR0, correspond à (N.prédiv.Tcy) s.
Dans ton cas c'est (Nx128x0,4) µs
Mesurer la durée d'une opération avec un timer
bonjour
la durée entre la mise en route (M) et arrêt(A] du timer est égale a C= M-A ou C est le NB de de_incrémentation du timer
le temps d’exécution d'une opération est égal :TE=CxTcy
Pour un 18F le Tcy=1/4 de la fréquence oscillateur
exemple: Tcy a 4Mhz =1µS
si C=12(0XFF-0XF3=0XC)
TE=12X1µs=12µs
Suivant ce que tu veux mesurer prendre un compteur 16 bits ou a défaut passer par un diviseur si passe par un diviseur dans le calcul en tenir compte.
Un conseil faire démarrer le compteur a un 0XFF pour un 8 bits et éventuellement tenir compte de mise et arret timer
voila j’espère que c'est ce que tu cherches et entre nous c'est le B A BA d'un timer
A+
la durée entre la mise en route (M) et arrêt(A] du timer est égale a C= M-A ou C est le NB de de_incrémentation du timer
le temps d’exécution d'une opération est égal :TE=CxTcy
Pour un 18F le Tcy=1/4 de la fréquence oscillateur
exemple: Tcy a 4Mhz =1µS
si C=12(0XFF-0XF3=0XC)
TE=12X1µs=12µs
Suivant ce que tu veux mesurer prendre un compteur 16 bits ou a défaut passer par un diviseur si passe par un diviseur dans le calcul en tenir compte.
Un conseil faire démarrer le compteur a un 0XFF pour un 8 bits et éventuellement tenir compte de mise et arret timer
voila j’espère que c'est ce que tu cherches et entre nous c'est le B A BA d'un timer
A+
Modifié en dernier par Anonymous le mer. 24 févr. 2016 14:45, modifié 4 fois.
Mesurer la durée d'une opération avec un timer
Je viens de jeter un œil sur ton opération, elle est sur les flottants et de plus est avec une division, on est dans la tranche des centaines de mS.
Donc si possible passer sur timer 16 bits avec un diviseur ou pré diviseur, a toi de voir avec cela
tu es libre dans le choix du soft? si oui la possibilité de passer par INT avec compteur
A+
Donc si possible passer sur timer 16 bits avec un diviseur ou pré diviseur, a toi de voir avec cela
tu es libre dans le choix du soft? si oui la possibilité de passer par INT avec compteur
A+
Mesurer la durée d'une opération avec un timer
Mesurer la durée d'une opération avec un timer
-
Jérémy
Administrateur du site- Messages : 2727
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Oui , a priori !
C'est le lot de tout les forums, certains donne une suite, le résultat, des photos etc .... d'autres prennent l'info et s'en vont ! C'est malheureux mais c'est comme ça . y'a pas grand chose a faire, si ce n'est l'éducation !
Mais peut être qu'on lui a coupé internet, que son PIC à mouru ..... restons sur le bénéfice du doute
C'est le lot de tout les forums, certains donne une suite, le résultat, des photos etc .... d'autres prennent l'info et s'en vont ! C'est malheureux mais c'est comme ça . y'a pas grand chose a faire, si ce n'est l'éducation !
Mais peut être qu'on lui a coupé internet, que son PIC à mouru ..... restons sur le bénéfice du doute
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 127 invités