I2C Tmp100 Temperatur

Gast #1602293
Hallo,

Ich habe soeben das Beispielprogramm auf mein ADUC841 geladen. Verändert 
am Programm hab ich nur LCD init und die Port addresse des SDA und SCL, 
da diese auf dem ADUC841 anders sind (SDA = 0xA7 und SCL = 0xA6. Am 
Display steht dann: -0.0625 Grad

Hier der Ausschnitt:

TempH = i2c_read(1);
TempL = i2c_read(1);
Temp = TempH << 8;
Temp = Temp | TempL;
Temp = Temp >> 4;

Temperatur = Temp*0.0625;

sprintf(gTXT,"%6.4f Grad",Temperatur);
print_lcd(2,1,gTXT);

Ich hab mir weiters die Werte von TempH und TempL in HEX ausgeben lassen 
und in beiden steht: FF00, ich hab mir den Code angeschaut, aber warum 
genau dieser Wert in TempH und TempL steht, versteh ich nicht. Durch das 
zusammenstellen der 2 werte steht also dann in Temp FFFF.


Die Verknüpfung müsste etwas hiermit zu tun haben:

unsigned char I2C_Lesen(unsigned char I2C_Addr, unsigned char Reg_Addr)
{
unsigned char Daten;
Daten = i2c_read(0);

return(Daten);
}

Der Linken unten führt zum diesem Beispielprgramm.


Vielen dank im Vorraus für die Hilfe

mfg

Andreas

www.c51.de/c51.de/Dateien/Liste.php?showArt=1&showHerst=1&showRubrik=1&s 
uchen=TMP100.zip

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.