Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Probleme beim Datenempfang über i2c Kategorie: I²C-Bus (von Sebastian - 26.06.2006 17:05)


Hallo an alle,

ich habe folgendes Skript geschrieben:




byte i, datain[4];
 int tobj, tamb;

 if i2c.start(160)                      
 {
  i2c.write(7);                          //write-Befehl, Sende command "7"
  i2c.stop();
 }
 else i2c.stop();

 
 if i2c.start(161)
 {
  for i = 0...2
  {
  datain[i]=i2c.read();                  //3 Byte vom Bus mit ACK lesen
  }
  datain[3]=i2c.readlast();              //Letztes Byte ohne ACK lesen
  i2c.stop();
 }
 else i2c.stop();
 

 tamb = (256*datain[0]+datain[1]);       //Umgebungstemperatur berechnen
 tobj = (256*datain[2]+datain[3]);       //Objekttemperatur berechnen

 lcdext.goto(1,6);                       //Temperaturen
 lcdext.zahl4n1(tamb);                   // auf
 lcdext.goto(2,6);                       //  LCD-Display
 lcdext.zahl4n1(tobj);                   //   schreiben

sleep 500;


Kurze Programmbeschreibung:

Mit diesen Zeilen soll ein Temperatursensor betrieben werden.
Laut Beschreibung des Sensors muss einfach nur ein Command gesendet (7=0b0111)
und danach 4 Bytes eingelesen werden. Diese werden dann in 2 Temperaturwerte umgerechnet.

Ich lasse dieses Skript als Loop laufen, Problem ist jetzt, dass ich in jedem
2. Durchlauf auf allen Bytes den Wert 255 (bzw.-1) empfange.
Woran liegts? Ist der Code so wie ich ihn programmiert habe überhaupt korrekt?


MfG Sebastian


    Antwort schreiben


Antworten:

Re: Probleme beim Datenempfang über i2c (von jmanbln - 27.06.2006 11:48)
    Re: Probleme beim Datenempfang über i2c (von Sebastian - 27.06.2006 12:12)
        Re: Probleme beim Datenempfang über i2c (von Sebastian - 27.06.2006 14:41)
            Re: Probleme beim Datenempfang über i2c (von KönigDickBauch - 28.06.2006 8:40)