Also der sensor funktioniert an einen Atmega8 bloß halt nicht am Atmega32 (code ist natürlich an den Atmega32 angepasst worden) aber der Ds1820 will halt nicht gehen, bzw wird nicht erkannt. Woran kann das liegen ? ist er am falschen Port?? (d.0)
1 | $regfile = "m32def.dat" |
2 | $crystal = 16000000 |
3 | |
4 | Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0 |
5 | Config Lcd = 16 * 2 |
6 | Config 1wire = Portd.0 |
7 | |
8 | Const Parasitpower = 1 |
9 | |
10 | Const Ds1820 = &H10 |
11 | |
12 | Const Skiprom = &HCC |
13 | Const Read_rom = &H33 |
14 | Const Convertt = &H44 |
15 | Const Read_ram = &HBE |
16 | Const Write_ram = &H4E |
17 | Const Copy_ram = &H48 |
18 | Const Recall_ee = &HB8 |
19 | Const Read_power = &HB4 |
20 | |
21 | Dim Family_code As Byte |
22 | Dim Serial_number(6) As Byte |
23 | Dim Crc As Byte |
24 | Dim Scratch(9) As Byte |
25 | |
26 | Dim I As Byte |
27 | Dim Temp As Word |
28 | Dim Temp1 As Integer |
29 | Dim Stemp As Single |
30 | |
31 | Do
|
32 | 1wreset |
33 | If Err = 1 Then Lcd "Ibutton Error" |
34 | |
35 | 1wwrite Read_rom |
36 | |
37 | Family_code = 1wread() |
38 | For I = 1 To 6 |
39 | Serial_number(i) = 1wread() |
40 | Next
|
41 | Crc = 1wread() |
42 | If Family_code <> Ds1820 Then Exit Do |
43 | |
44 | 1wwrite Convertt |
45 | |
46 | #if Parasitpower
|
47 | Wait 2 |
48 | #else
|
49 | Do
|
50 | Temp = 1wread() |
51 | Loop Until Temp = &HFF |
52 | #endif
|
53 | |
54 | 1wreset |
55 | If Err = 1 Then Lcd "Ibutton Error" |
56 | |
57 | 1wwrite Skiprom |
58 | 1wwrite Read_ram |
59 | For I = 1 To 9 |
60 | Scratch(i) = 1wread() |
61 | Next
|
62 | |
63 | Temp = Scratch(2) |
64 | Shift Temp , Left , 8 |
65 | |
66 | Temp = Temp + Scratch(1) |
67 | Temp1 = Temp |
68 | |
69 | Temp1 = Temp1 / 2 |
70 | Lcd Temp1 |
71 | |
72 | Stemp = Scratch(8) - Scratch(7) |
73 | Stemp = Stemp / Scratch(8) |
74 | Stemp = Stemp + Temp1 |
75 | Stemp = Stemp - 0.25 |
76 | Lowerline
|
77 | Lcd Fusing(stemp , "#.##") |
78 | Wait 2 |
79 | Loop
|
80 | |
81 | Lcd "Kein Sensor" |
82 | |
83 | End
|