Temperaturen aus DS1621 mit PC-I2C-RN-Adapter auslesen
Hallo!
Bevor ich die dazugehörige Schaltung aufbaue, möchte ich gerne wissen, ob mit folgenden in Visual-Basic geschriebenen Programmzeilen der an dem PC-I2C-Roboternetz-Adapter angeschlossene Temperatursensor DS1621 ausgelesen werden kann. Falls in den Programmzeilen Fehler enthalten sind, wäre ich für Nachricht sehr dankbar!
Vielen Dank!
Gruß
E-Donni
Code:Private Sub TempMessung(temperatur As Double) Dim adresse As Byte Dim MSByte As Byte Dim LSByte As Byte 'Initialisierung des PC-I2C-RN-Adapters: RS232_I2C_MSComm1.CommPort = 1 RS232_I2C_MSComm1.PortOpen = True i2c_init ZeigePegel 'Adresse des Interfaces: adresse = 90 'I2C-Befehle an den Temperatursensor DS1621 senden: i2c_start i2c_SendByte (adresse) 'Adresse des Temperatursensors senden i2c_SendByte I2cdaten(&HEE) 'Temperaturmessung anstoßen delay i2c_stop i2c_start i2c_SendByte (adresse) 'Adresse des Temperatursensors senden i2c_SendByte I2cdaten(&HAA) 'Temperaturmessung Lesekommando delay i2c_stop delay i2c_start i2c_SendByte (Adresse + &H1) 'Beim Lesen ist ID immer eins höher 'als beim Senden delay MSByte = i2c_EmpfangeByte '1. Byte empfangen, MS-Byte delay i2c_ack (True) delay LSByte = i2c_EmpfangeByte '2. Byte empfangen, LS-Byte delay i2c_ack (False) delay i2c_stop ZeigePegel 'Aus den übergebenen Bytes die Temperatur des abgefragten 'Sensors ermitteln: If Wert < 128 Then 'positive Temperatur, gleich oder höher als 0°C temperatur = MSByte + (LSByte / 128) * 0.5 Else 'negative Temperatur, unter 0°C temperatur = MSByte - 256 + (LSByte / 128) * 0.5 End If 'Terminalisierung: set_sda (1) set_scl (1) End Sub







Zitieren

Lesezeichen