[vb6] LM75 am IIC - daten auslesen?

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
formatc1702
Posts: 55
Joined: Thu Apr 15, 2004 11:23 pm
Contact:

[vb6] LM75 am IIC - daten auslesen?

Post by formatc1702 »

hey!

ich habe mir jetzt einen iic chip besorgt (lm75) und will ihn jetzt betreiben, aber aus den vb beispielen konnte ich nicht entnehmen, wo jetzt eigentlich meine daten landen.

aus dem lm75 datasheet:

Code: Select all

TEMPERATURE| OUTPUT
----------------------
+125       | 011111010
+25        | 000110010
+0.5       | 000000001
0          | 000000000
-0.5       | 111111111
-25        | 111001110
-55        | 110010010
das sind anscheinend die entsprechungen der temperatur in bits. aber ich weiss nicht genau in welchem byte die verschiedenen bits landen... wie würde eine funktion aussehen die die temperatur und das vorzeichen getrennt anzeigen, also einen wert wie zB +23.5 anstatt diesem 0101 binary zeugs? ich hab schon ein bisschen rumgespielt aber wurde nicht ganz schlau daraus... am besten wäre die erklärung anhand des VBIIC beispiels
thx a lot!!!
Last edited by formatc1702 on Tue Apr 19, 2005 12:47 am, edited 1 time in total.
FlitzPin
Posts: 24
Joined: Sun Apr 18, 2004 3:47 pm

Post by FlitzPin »

iicPacket(1)=2 'Anzahl Bytes
iicPacket(2)=&h91 'Adresse+ 1
formatc1702
Posts: 55
Joined: Thu Apr 15, 2004 11:23 pm
Contact:

Post by formatc1702 »

thx!

ich hab das problem mit der adresse hingekriegt aber die temperatur bits landen jetzt irgendwo und ich weiss nicht wie ich sie finde und zusammenflicke... wenn das gelöst ist dann geb ich wohl erstmal wieder ruhe :lol:
FlitzPin
Posts: 24
Joined: Sun Apr 18, 2004 3:47 pm

Post by FlitzPin »

' Do something with data
' Six bytes of data are stored in iicPacket(2)-iicPacket(7)
(SDK)


Code: Select all

Function temperatur(byte1 As Byte, byte2 As Byte) As String

Dim strTemperatur As String
If byte1 > 128 Then 'Vorzeichen ist minus
    byte1 = Not byte1 'komplement bilden
    strTemperatur = "-"
End If
strTemperatur = strTemperatur & CStr(byte1)
'Nachkommastelle
If byte2 >= 128 Then strTemperatur = strTemperatur & ",5"
temperatur = strTemperatur
End Function
Allerdings nicht getestet, aber so sollte es gehen.
Aufruf mit
String=temperatur (iicPacket(2),iicPacket(3))

GRuß FlitzPin
Post Reply