Hey Leute;
ich will per Bascom vom Temperatursensor (LM75) Standart
Schalttemperatur (Tos = 80°C und Thyst = 75°C) auslesen.
Nur es liest entweder die Tos oder Thyst aus aber nicht beides.
Ich brauche ein Rat von euch
mfg Patrick_cpp
Patrick D. schrieb:> Ich brauche ein Rat von euch
Beschreibe den Fehler so, dass man nicht das komplette Programm
durchforsten muss (ich finde keinen der erwähnten Begriffe in deinem
Programm wieder, auch nicht als Kommentar).
Was erwartest du an welcher Stelle des Programms und was erhältst du
stattdessen?
Patrick D. schrieb:> OK, ich schicke nur das Unterprogramm:
Und was soll da jetzt wo passieren? Was passiert stattdessen? Wie
erkennst du die "Fehlfunktion"?
BTW:
1
Wichtige Regeln - erst lesen, dann posten!
2
...
3
Formatierung (mehr Informationen...)
4
...
5
[code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
Wenn ich Datenblatt richtig verstanden habe soll &H02 (00000010) Tos
lesen oder schreiben. In dem Fall nur lesen (Schalttemp1).
Das soll LCD position 1,12 anzeigen.
Und &H03 (00000011) Thyst lesen oder schreiben. Auch diesem Fall will
ich nur lesen (Schalttemp2).
Das soll LCD position 2,12 anzeigen.
Aber es Zeigt auf beiden Zeilen 75°C an.
Und wie gesagt soll eigendlich stehen Zeile 1: 80°C und Zeile 2: 75°C.
Patrick D. schrieb:> Und wie gesagt soll eigendlich stehen Zeile 1: 80°C und Zeile 2: 75°C.
Oder andersrum...?
Fehlt da nach dem Schreiben des Pointers nicht jeweils noch ein I²C
Stop?
Macht das selbe Problem.
Zeigt auf beiden Zeilen 75°C
Ich hebe bemerkt das ich beim Kommentar für Lm_lesen &H90 geschrieben
habe. Sollte eigendlich &H91 sein.
Jetzt funktionierts es :-)
Schalttemperatur:
If _bit = 0 Then
Schalttemp1 = 0
I2cstart
I2cwbyte &H90
I2cwbyte &H02
I2cstop
I2cstart
I2cwbyte &H91
I2crbyte Schalttemp1 , Nack
I2cstop
Else
Schalttemp1 = 0
I2cstart
I2cwbyte &H90
I2cwbyte &H03
I2cstop
I2cstart
I2cwbyte &H91
I2crbyte Schalttemp1 , Nack
I2cstop
End If
Locate 1 , 12
If Schalttemp1 < 10 Then
Lcd Spc(2) ; Schalttemp1 ; Chr(0) ; "C"
Elseif Schalttemp1 < 100 Then
Lcd Spc(1) ; Schalttemp1 ; Chr(0) ; "C"
Else
Lcd Schalttemp1 ; Chr(0) ; "C"
End If
Return
Wenn _bit = 0 ist zeigt es mir 75°C an
und _bit = 1 ist zeigt es mir 80°C an.