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?
OK, ich schicke nur das Unterprogramm:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
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 | |
2 | |
3 | |
4 | |
5 | |
Bitte beachten...
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?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
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.
Patrick D. schrieb: > Jetzt funktionierts es :-) Hier:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.