bonjour a tous,

voila je veux creer un signal carré de 40khz , j'utilise donc un microcontroleur (pic16f1508)
voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void interrupt sous_programm()
{
    if(T0IF==1)//80 khz
    {
        T0IF=0;
        TMR0=219;//pour bien généré une frequence de 80khz
        Flag_HORLOGE=1;// me permettra de creer un signal de 40khz 
        chrono++;//chrono=80 000 = 1seconde 

    }
}


void main()
{
    init_pic();

    long int compteur=0;
    int i=0,compteur_ultrason=0;

    while(1)
    {
        if(Flag_HORLOGE==1 )
        {
            compteur++;
            Flag_HORLOGE=0;
            SORTIE_ULTRASON=!SORTIE_ULTRASON;//signal a 40 khz

        }
se code marche tres bien , car ma sortie ultrason fournie bien une frequence de 40KHz (signal carré) comme je le desirais,
mais si je rejoute des choses dans mon programme pricipal ma frequence diminue
est ce normal?
comment je peux resoudre le probleme?
merci d'avance