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) |