Bonjour à tous,
J'utilises un pic18f452 avec le compilo C18. J'ai un quartz de 4Mhz, et je veux faire clignoter ma led toutes les sec.
Voici mon code :
#include <p18f452.h>
#include <delay.h>
#pragma config OSC=XT
#pragma config WDT=OFF
#pragma config LVP=OFF
void delays (int cnt)
{ unsigned short _dcntr; \
_dcntr=100*cnt;
while(--_dcntr != 0) \
continue; }
void main(void)
{
short long j;
TRISBbits.TRISB4=0;
PORTBbits.RB4=0;
j=5000;
while(1)
{
delays(j);
PORTBbits.RB4=0;
delays(j);
PORTBbits.RB4=1;
}
}
/////////////////////////////////////////////
Donc normalement
delays(5000) donne 5000*100=500000 coup d'horloge
donc avec un quartz à 4Mhz la led devrait clignoter toute les sec
or pour 30 clignotement cela se fait en 38 sec.
Je ne comprend pas pourquoi je suis plus long de 8 sec
Merci d'avance pour votre aide
-----