Hey,
hab seit monaten meine MiniControl wieder rausgekrammt, da ich jetzt wieder Verwendung dafür habe.
Ich hab mir kurz einen Code zum auslesen des DS1621 über I2C geladen und drauf geflasht! Komischer weiße sind bei mir aber low und high temp immer 255. Der DS1621 ging aufjeden fall damals, hab auch nichts an der Verlötung geändert, an was kann das liegen?
Hier der Code :
Jetzt schon mal danke für eure Hilfe!Code:$regfile = "m168def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $framesize = 32 $swstack = 32 $lib "i2c_twi.lbx" ' we do not use software emulated I2C but the TWI Config Scl = Portc.5 ' we need to provide the SCL pin name Config Sda = Portc.4 ' we need to provide the SDA pin name I2cinit ' we need to set the pins in the proper state Config Twi = 100000 ' wanted clock frequency 'will set TWBR and TWSR 'Twbr = 12 'bit rate register 'Twsr = 0 'pre scaler bits Dim T As Word Declare Sub Readtemp Do Call Readtemp() Loop End Sub Readtemp(byval Device As Byte) Local Deviceread As Byte Local Lowtemp As Byte Local Hightemp As Byte Deviceread = Device + 1 'I2csend , Device , &HEE 'kürzere Source, längerer Code I2cstart I2cwbyte Device I2cwbyte &HEE 'Temperaturmessung anstoßen I2cstop 'I2csend , Device , &HAA 'kürzere Source, längerer Code I2cstart I2cwbyte Device I2cwbyte &HAA 'Temperaturmessung Lesekommando I2cstop I2cstart I2cwbyte Deviceread I2crbyte Lowtemp , Ack 'LSByte holen I2crbyte Hightemp , Nack 'MSByte holen I2cstop Value = Lowtemp * 10 If Hightemp = 128 Then Value = Value + 5 End If Print Value End Sub
MfG
Placa







Zitieren

Lesezeichen