Re: Dallas DS 1621 anschliessen und auslesen Kategorie: I²C-Bus (von thomso - 29.06.2006 22:41) | |
Als Antwort auf Dallas DS 1621 anschliessen und auslesen von thomso - 26.06.2006 20:47
| |
Habe das Problem gelöst. Wenns jemanden interessiert, hier das PRG in Basic : ' I2C_test1: Temperaturmessung mit Dallas 1621 Sensor über I2C ' erforderliche Library: IntFunc_Lib.cc, LCD_Lib.cc ' Auf dem LCD Display wird die Temperatur in 0.5 °C Schritten ' angezeigt. '------------------------------------------------------------------------------ Sub Init(addr As Byte) I2C_Init(I2C_100kHz) I2C_Start() 'Start I2C_Write(addr) 'Adresse ohne RW I2C_Write(&HAC) 'Command write Config I2C_Write(&H03) 'Config byte single sample I2C_Stop() 'Stop LCD_Init() ' Display initialisieren LCD_ClearLCD() ' Display löschen LCD_CursorOff() ' Display Cursur ausschalten End Sub Sub Temp_Lesen(addr As Byte) Dim Wert As Single Dim Wert1 As Byte Dim Wert3(6) As Char I2C_Start() 'Start I2C_Write(addr) 'Adresse ohne RW I2C_Write(&HEE) 'Command start convert I2C_Start() 'Start I2C_Write(addr) 'Adresse ohne RW I2C_Write(&HAA) 'Command read tempregister 2 byte I2C_Start() 'repeated start I2C_Write(addr+1) 'Adresse mit RW Wert=I2C_Read_ACK() 'Read msb mit Ack Wert1=I2C_Read_NACK() 'Read lsb mit Nack I2C_Stop() If Wert1=128 Then Wert=Wert+0.5 End If 'Ausgabe LCD Str_WriteFloat(Wert,1,Wert3,0) LCD_CursorPos(0) LCD_WriteText(Wert3) AbsDelay(1000) End Sub '------------------------------------------------------------------------------ ' Hauptprogramm ' Sub main() Dim addr As Byte addr=&H90 'Dallas Grundadresse Device 1 A0,A1,A2 auf Masse Init(addr) 'Init I2C,Dallas,LCD Do While 1 'Endlosschleife Temp_Lesen(addr) 'Temp lesen End While End Sub | |
Antwort schreiben Antworten: Re: Dallas DS 1621 anschliessen und auslesen (von Thomas - 18.01.2007 14:02) Re: Dallas DS 1621 anschliessen und auslesen (von Space_Wolfgang - 30.08.2008 8:57) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum