Forum: Mikrocontroller und Digitale Elektronik HYT-271 Probleme


von Volker (Gast)


Lesenswert?

Hallo,

ich habe zwei HYT-271 an einem PIC18F4550. Ein Sensor hat ca. 30cm 
Leitungslänge, der Andere ca. 1m Leitung. Als Pullups habe ich jeweils 
10K an SDA und SCL.
Den Sensor mit der kurzen Leitung kann ich ansprechen, aber die Werte 
sind alles anders als ok. Meistes funktioniert die erste Messung und 
liefert Werte zurück. Ab der zweiten Messung gibt der i2c Status einen 
Fehler zurück oder die Werte ändern sich nicht mehr.

Den zweiten Sensor bekomme ich gar nicht zum laufen.

Hier ist das Codesnipped, zum Auslesen der Sensordaten.
1
void GetSensorData(char AddressWrite, char AddressRead) 
2
{ 
3
   int status=0; 
4
   int i=4; 
5
    
6
   i2c_start(); 
7
   status = i2c_write(AddressWrite); 
8
   if(status != 0) 
9
   { 
10
      printf("MR: no sensor found at:%x \n\r", AddressWrite); 
11
      continue; 
12
   } 
13
   else 
14
   { 
15
      printf("MR: ok\n\r"); 
16
   } 
17
   i2c_stop();    
18
   delay_ms(100); 
19
   i2c_start(); 
20
   status = i2c_write(AddressRead); 
21
   if(status != 0) 
22
   { 
23
      printf("DF: no sensor found at: %x \n\r", AddressRead); 
24
      continue; 
25
   } 
26
   else 
27
   { 
28
      printf("DF: ok\n\r"); 
29
   } 
30
    
31
   for (i=0;i<4;i++) 
32
   { 
33
      messageBuf[i] = i2c_read(); 
34
   } 
35
   i2c_stop(); 
36
   printf("%x # %x # %x # %x \n\r", messageBuf[0], messageBuf[1], messageBuf[2], messageBuf[3]); 
37
}

als Compiler verwende ich ccs.

Gibt es Erfahrungen mit dem HYT-271?
Was ich bis jetzt gefunden habe, hat mich nicht wirklich weiter 
gebracht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.