Bonjour, je voudrai savoir comment on peut faire pour récupérer un octet qui arrive au coup par coup.

Je m'explique: Je travail sur un composant qui mesure la temperature (SHT11), et qui m'envoie la réponse sous la forme de 2 octets en serie (avec un Acknowledge au milieu).

Je communique avec se composant via l'entrée/sortie DATA, et une horloge SCK


Voici la partie du programme:

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
31
32
33
34
35
36
37
38

void ReponseTemprature(void)
{
   unsigned char i;


      for(i=0;i<8;i++)     // 8 cycle de SCK
      {

      output_bit(SCK,1);                      
         delay_us(TPUSLECLK);

      output_bit(SCK,0);
         delay_us(TPUSLECLK);
      }
       output_bit(DATA,0);              // Acknowledge


      output_bit(SCK,1);

        delay_us(TPUSLECLK);

      output_bit(SCK,0);

         delay_us(TPUSLECLK);

     input(DATA);                           // fin acknowledge

     for(i=0;i<8;i++)     // 8 cycle de SCK
      {
      output_bit(SCK,1);
         delay_us(TPUSLECLK);
      output_bit(SCK,0);
         delay_us(TPUSLECLK);
      }

}
Pour l'instant j'obtient la réponse, mais je n'arive pas à la stocker, puis par la suite a l'afficher sur un PC. Si il manque des informations, n'hésité pas a me demmander En vous remerciants