Bonjour à tous, j'essais d'apprendre à programmer des pic à l'aide d'un livre et j'ai un peu de mal concernant le mode capture du Timer1.
J'ai envoyé une impulsion d'environ 864ms que j'ai mesuré à l'oscilloscope et ma variable "capture" dans le watch de mplab me donne 171 en decimal.
J'aimerai connaitre le calcule a faire pour trouver le temps à l'état haut (ex: 864ms) à partir de la valeur capturée (171 dans mon exemple).
j'utilise un pic16f877A avec pickit3 et le compilateur CCS.
mon pgm:
#include <16F877A.h>
#device adc=10
#fuses HS,NOWDT,NOPUT,NOPROTECT,NOBRO WNOUT,NOLVP,NOWRT,DEBUG
#use delay(clock=8000000)
int capture=0;
#int_CCP1
void CCP1_isr() //interruption module de capture
{capture=CCP_1;}
void main()
{
setup_ccp1(CCP_CAPTURE_RE);
enable_interrupts(INT_CCP1);
enable_interrupts(GLOBAL);
while(true);
}
Cordialement
-----