Hallöchen, nachdem ich mein LCD endlich fertiggestellt habe und die ersten Tests erfolgreich liefen, wollte ich endlich weiter machen und die Temperatur auf mein LCD zauber Aber wie das ja so immer ist wird man immer schnell ausgebremst habe erstmal im Netz geschaut nach einen Code, weil ich erstmal nur schauen wollte ob der DS1820 auch funktioniert, nur leider komme ich hier einfach nicht weiter ich bekomme ständig nur "000000000000000" auf dem Display angezeigt. Also iwie wird das Teil nicht gefunden und ich finde einfach den Fehler nicht. Habe auch schon einen anderen genommen und neu verlötet, aber auch hier kein Erfolg hier mal der Code den ich genommen habe:
1 | $regfile = "m32def.dat" |
2 | $crystal = 8000000 |
3 | $hwstack = 40 |
4 | $swstack = 16 |
5 | $framesize = 32 |
6 | |
7 | |
8 | Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.1 |
9 | Config Lcd = 16 * 2 |
10 | Config 1wire = Porta.1 |
11 | |
12 | |
13 | Dim Dsid(8) As Byte |
14 | Dim I As Byte |
15 | Dim Nr As Byte |
16 | |
17 | Nr = 1 |
18 | Cls |
19 | |
20 | ' Ersten angeschlossenen DS1820 finden und Adresse auslesen |
21 | Dsid(1) = 1wsearchfirst() |
22 | |
23 | Locate 1 , 1 : Lcd "DS1820 Nr " ; Nr : Nr = Nr + 1 |
24 | Locate 2 , 1 |
25 | For I = 1 To 8 |
26 | Lcd Hex(dsid(i)) |
27 | Next |
28 | |
29 | ' 10 Sekunden warten |
30 | Wait 15 |
31 | |
32 | Do |
33 | ' Nächsten DS1820 suchen |
34 | Dsid(1) = 1wsearchnext() |
35 | ' Wenn kein Fehler, dann ausgeben |
36 | If Err = 0 Then |
37 | Locate 1 , 1 : Lcd "DS1820 Nr " ; Nr : Nr = Nr + 1 |
38 | Locate 2 , 1 |
39 | For I = 1 To 8 |
40 | Lcd Hex(dsid(i)) |
41 | Next |
42 | Wait 15 |
43 | End If |
44 | Loop Until Err = 1 |
45 | |
46 | |
47 | Do |
48 | Waitms 100 |
49 | Loop |
50 | |
51 | End |