Hallo, hat sich wer schon mit dem TI TMP101NA/250 beschäftigt ? Gibt es da ne Lib für Bascom für ? Grüße Mark
Gast
#2292635
Bei LPC2148 habe ich es entwickelt: /*----------- TMP100 Texas Instrument Temperatursensor --------------------*/ //////////////////////////////////////////////////////////////////////// /////// // TMP100init initialisiert den I2C TMP100 Temperatursensor //////////////////////////////////////////////////////////////////////// /////// BYTE TMP100init(void) { BYTE erg=C_OK; I2CAddress=TEMP_I2C_ADDRESS; // 4Ch I2C-Adresse des TMP100, wenn der nicht diese Adresse hat, werden dann nur 9 bit Auflösung haben I2CSendBuffer[0]=0x01; //Configuration Pointer Register I2CSendBuffer[1]=0x60; //12-bit resolution I2CWriteLength=2; if (I2C0MasterTransmit()==FALSE) //Daten über I2C senden erg=C_FEHLER_I2C; return erg; } //////////////////////////////////////////////////////////////////////// /////// // TMP100temp holt den Wert vom TMP100 Temperatursensor //////////////////////////////////////////////////////////////////////// /////// DWORD TMP100temp(BYTE *Ergebnis) { BYTE Temperatur[4]; DWORD erg,temp; I2CAddress=TempAddress; //I2C-Adresse des TMP100 I2CSendBuffer[0]=0x00; //Temperature Pointer Register I2CWriteLength=1; I2CReadLength=2; if (I2C0MasterTransmit()==FALSE) //Daten über I2C senden { *Ergebnis = C_FEHLER_I2C; //Fehlermeldung: I2C-Adresse nicht gefunden return 0; } else { if (I2C0MasterReceive()==FALSE) //Daten über I2C empfangen { *Ergebnis = C_FEHLER_I2C; //Fehlermeldung: I2C-Adresse nicht gefunden return 0; } else { for (int i=0;i<2;i++) Temperatur[i]=I2CReadBuffer[i]; erg=Temperatur[0]; erg<<=16; temp=Temperatur[1]; temp<<=8; erg+=temp; *Ergebnis = C_OK; return erg; } } }
Super ! Danke konnte es genauso für den TMP101 portieren manchmal sieht man den Wald vor lauter Bäumen nicht ...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.