Forum: Mikrocontroller und Digitale Elektronik LM75 und Bascom


von Sabine (Gast)


Lesenswert?

@all

Hab´mit Bascom folgendes Prog. zum auslesen des LM75 (I2C)geschrieben.
Damit bekomme ich die Temparatur vom LM75 angezeigt. Jedoch wird nur
das MSB ausgewertet, d.h. ich bekomme die aktuelle Temparatur ohne
Dezimalstellen angezeigt. Wie stelle ich es an, die Temp. mit
Dezimalstellen anzuzeigen ? (Denkanstoss, bei mir klemmt´s gerade).


$regfile = M8.def
$crystal = 4433619
Config Lcd = 20 * 2

Dim A As Byte
Dim X As Byte, Slave As Byte
Config Sda = Portc.5
Config Scl = Portc.4

Do
 Slave = &H91
I2creceive Slave , X
Cls
Waitms 10
Lcd "    Temparatur     "
Wait 1
Lowerline
Lcd "   * " ; X ; " Grad    *"
Wait 3
Cls


Loop




Danke, Sabine.

von Rahul (Gast)


Lesenswert?

Du liest nur 1 Byte ein...
Du brauchst aber noch das MSB des zweiten Bytes...

von Sabine (Gast)


Lesenswert?

@Rahul

wie stelle ich das an ? Die Bascom Hilfe schweigt sich
hierüber aus.

Gruß,

von Profi (Gast)


Lesenswert?

indem Du ein zweites Byte mit I2creceive einliest und auswertest.

von Sabine (Gast)


Lesenswert?

@all
wie kann ich I2creceive anweisen, eben dieses 2te Byte zu empfangen ?

Gruß, Sabine

von Profi (Gast)


Lesenswert?

na jetzt aber?!?
indem Du es ein zweites Mal hinschreibst.

Do
 Slave = &H91
I2creceive Slave , X
Cls
Waitms 10
Lcd "    Temparatur     "
Wait 1
Lowerline

I2creceive Slave , Y
if Y>128 then Y=0 else Y=5
Lcd "   * " ; X ; "," ; Y; " Grad    *"
Wait 3
Cls

Loop

Ist zwar schon 20 Jahre her, dass ich das letzte Mal was in Basic
schrieb, aber so in etwa könnte es aussehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.