so, also ich hbe jetzt mal das zusammen kopierte programm von der 1. Seite benutzt. Leider bekomme ich keine Werte...
Ich bekomme erst einen Wert sobald ich eine Temperaturänderung habe. Also einmal gegenpusten und schon wird die Temperatur angezeigt. Warum ist das so?
ich habe nur einen anderen µC statt mega 32 einen mega 8 und statt 16MHz 4 MHz oder bringe ich ihn damit durcheinander?

Tobias
Code:
$regfile = "m8def.dat"
$crystal = 4000000
$baud = 9600

Config 1wire = Portb.0
Dim T As Integer
Dim T1 As Integer
Dim T2 As Integer
Dim T3 As Integer
Dim T4 As String * 10
Dim T5 As String * 10
Dim T6 As Single
Dim T7 As Single
Dim Id1(8) As Byte
Dim Id2(8) As Byte
Dim Ar1(9) As Byte
Dim Ar2(9) As Byte
Dim I As Byte , Tmp As Byte , Tmp2 As Byte
Dim Crc As Byte

Declare Sub Crcit
Declare Sub Crcit2

Id1(1) = 1wsearchfirst()
Id2(1) = 1wsearchnext()


Do
Print " "
1wreset
1wwrite &H55
1wwrite Id1(1) , 8
1wwrite &H44

Waitms 300
1wreset
1wwrite &H55
1wwrite Id1(1) , 8
1wwrite &HBE
Ar1(1) = 1wread(9)
1wreset
Crcit
If Crc = 0 Then
      Tmp = Ar1(1) And 1
      If Tmp = 1 Then Decr Ar1(1)
      T = Makeint(ar1(1) , Ar1(2))
      T = T * 50
      T = T - 25
      T1 = Ar1(8) - Ar1(7)
      T1 = T1 * 100
      T1 = T1 / Ar1(8)
      T = T + T1
      T = T / 10
      T6 = T / 10
      T4 = Fusing(t6 , "#.#")

End If

Waitms 500
1wreset
1wwrite &H55
1wwrite Id2(1) , 8
1wwrite &H44

Waitms 300
1wreset
1wwrite &H55
1wwrite Id2(1) , 8
1wwrite &HBE
Ar2(1) = 1wread(9)
1wreset
Crcit2
If Crc = 0 Then
      Tmp2 = Ar2(1) And 1
      If Tmp2 = 1 Then Decr Ar2(1)
      T2 = Makeint(ar2(1) , Ar2(2))
      T2 = T2 * 50
      T2 = T2 - 25
      T3 = Ar2(8) - Ar2(7)
      T3 = T3 * 100
      T3 = T3 / Ar2(8)
      T2 = T2 + T3
      T2 = T2 / 10
      T7 = T2 / 10
      T5 = Fusing(t7 , "#.#")

End If



Print "Temperatur T4: " ; T4 ; "°C"
Print "Temperatur T5: " ; T5 ; "°C"

Waitms 500

Loop

Sub Crcit

   Crc = 0
   For I = 1 To 9
      Tmp = Crc Xor Ar1(i)
      Crc = Lookup(tmp , Crc8)
   Next
End Sub

Sub Crcit2

   Crc = 0
   For I = 1 To 9
      Tmp2 = Crc Xor Ar2(i)
      Crc = Lookup(tmp2 , Crc8)
   Next
End Sub
'//////////////////////////////////////////////////////////////////////////////


Crc8:
Data 0 , 94 , 188 , 226 , 97 , 63 , 221 , 131 , 194 , 156
Data 126 , 32 , 163 , 253 , 31 , 65 , 157 , 195 , 33 , 127
Data 252 , 162 , 64 , 30 , 95 , 1 , 227 , 189 , 62 , 96
Data 130 , 220 , 35 , 125 , 159 , 193 , 66 , 28 , 254 , 160
Data 225 , 191 , 93 , 3 , 128 , 222 , 60 , 98 , 190 , 224
Data 2 , 92 , 223 , 129 , 99 , 61 , 124 , 34 , 192 , 158
Data 29 , 67 , 161 , 255 , 70 , 24 , 250 , 164 , 39 , 121
Data 155 , 197 , 132 , 218 , 56 , 102 , 229 , 187 , 89 , 7
Data 219 , 133 , 103 , 57 , 186 , 228 , 6 , 88 , 25 , 71
Data 165 , 251 , 120 , 38 , 196 , 154 , 101 , 59 , 217 , 135
Data 4 , 90 , 184 , 230 , 167 , 249 , 27 , 69 , 198 , 152
Data 122 , 36 , 248 , 166 , 68 , 26 , 153 , 199 , 37 , 123
Data 58 , 100 , 134 , 216 , 91 , 5 , 231 , 185 , 140 , 210
Data 48 , 110 , 237 , 179 , 81 , 15 , 78 , 16 , 242 , 172
Data 47 , 113 , 147 , 205 , 17 , 79 , 173 , 243 , 112 , 46
Data 204 , 146 , 211 , 141 , 111 , 49 , 178 , 236 , 14 , 80
Data 175 , 241 , 19 , 77 , 206 , 144 , 114 , 44 , 109 , 51
Data 209 , 143 , 12 , 82 , 176 , 238 , 50 , 108 , 142 , 208
Data 83 , 13 , 239 , 177 , 240 , 174 , 76 , 18 , 145 , 207
Data 45 , 115 , 202 , 148 , 118 , 40 , 171 , 245 , 23 , 73
Data 8 , 86 , 180 , 234 , 105 , 55 , 213 , 139 , 87 , 9
Data 235 , 181 , 54 , 104 , 138 , 212 , 149 , 203 , 41 , 119
Data 244 , 170 , 72 , 22 , 233 , 183 , 85 , 11 , 136 , 214
Data 52 , 106 , 43 , 117 , 151 , 201 , 74 , 20 , 246 , 168
Data 116 , 42 , 200 , 150 , 21 , 75 , 169 , 21 , 75 , 169