Récuperer un octet en serie
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:
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 :P En vous remerciants