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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.