julien__68
Messages postés5Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention 7 juin 2005
-
6 juin 2005 à 14:27
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 2015
-
23 juin 2009 à 16:58
bonjours tout le monde,
voici une parti de mon programme, je réalise une interruption avec mon timer,
et je voulai mettre une interruption toute les 2ms mai je c pas comment
faire,je sait que c'est en jouant sur la valeur que lon met dans
TMR1H et que plus je met une petite valeure dans TMR1H et plus l
interruption est courte mais je sais pas a quel temps ca correspond....
comment doit-je faire pour connaitre la base de temps ?
int_timer1
bcf PIR1,TMR1IF ;Clear the Timer1 interrupt flag.
movlw 0x0F
;Load TMR3 with the value 0xF000
movwf TMR1H
clrf TMR1L
btfss ptr,2
goto affon
incf compt,1
bcf PORTB,2
bcf ptr,2
goto fin
j'ai regardé dans le datasheet mais je n'arrive pas a trouver....
phenojeff
Messages postés87Date d'inscriptionjeudi 10 octobre 2002StatutMembreDernière intervention 4 avril 2008 6 juin 2005 à 17:57
allo
pour savoir le plus facile est d aller dans mplab dans Debugger/settings la tu entre la vitesse de ton pic et tu ouvre debugger/stopwach et tu mais un break sur ta ligne comme la bcf PORTB,2 et tu fait RUN il va areter a cette ligne mait ton stopwach a zero et refait run et voila ton temps :
Zayann
Messages postés75Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention15 juillet 20151 23 juin 2009 à 16:58
Ton interruption peut se calculer...
Il te faut la vitesse de micro (la Fréquence d'oscillation du quartz interne ou externe), les datasheets du modèle de ton micro, une calculette et ton cerveau ...
A partir de là c'est assez facile...
Si tu m'envoie tout cela, je t'aide à faire le calcul.
Ceci dit, 2 ms c'est extrêmement court (peut être trop pour le reste de ton appli... à voir), il faut aussi calculer le temps nécessaire à la sauvegarde des registres et à leur restauration...
A voir...