Hallo,
ich habe ein Problem mehrere Temperatursensoren an meinen Atmega auszulesen. Das Problem beginnt allerdings schon recht früh, dh. das ich an einem Sensor problemlos die Temperatur auslesen kann.Für mehrere Sensoren brauch ich ja die ID um sie zu unterscheiden. Und an dieser Stelle beginnt mein Problem: Er gibt mir keine ID sondern zeigt nur 00 an. Habe es mit einen Sensor probiert. In der einen Zeile zeigt er mir die korrekte Temperatur allerdings funktioniert die ID nicht. Hier das Programm:

Code:
$regfile = "m8def.dat"
$crystal = 8000000

'LCD'
Config Lcd = 16 * 2

'LCD-PIN-Belegung'
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2

'LCD-BUS, hier vier Ports'
Config Lcdbus = 4

'Port der gruenen LED'
Config Portc.1 = Output

'Port des ersten Schalters'
Config Pinc.0 = Input

'Alias fuer den ersten Schalter'
Taster Alias Pinc.0

Dim W As Word
Dim Dsid(8) As Byte
Dim B As Byte


Portc.0 = 1

'Alias fuer die gruene LED'
Ledgruen Alias Portc.1

'Gruene LED wird eingeschlatet'
Ledgruen = 1




Config 1wire = Portc.5

Dim Ar(2) As Byte , A As Byte , I As Byte , Temperatur As Integer
Dim Halb As Byte
Cursor Off
Cls

W = 1wirecount()
Dsid(1) = 1wsearchfirst()

1wverify Dsid(1)
Do

Home
Lcd "Temp:"
  Wait 1
  1wreset
  1wwrite &HCC
  1wwrite &H44
  Waitms 750
  1wreset
  1wwrite &HCC
  1wwrite &HBE
  For I = 1 To 2
    Ar(i) = 1wread()
  Next

  Locate 2 , 1
  Temperatur = Ar(1)

  If Ar(2) > 0 Then Temperatur = 0 Else Shift Temperatur , Right

  Lcd Temperatur ; "." ;

  Halb = Ar(1) And 1

  If Halb = 1 Then Lcd "5" Else Lcd "0"

  Lcd " C" ; W ;

  For B = 1 To 8
   Home
   Lcd Hex(dsid(b));
   Lcd " ";

Next B
Waitms 1000
Loop
Hoffentlich kann mir einer helfen. Vielen Dank schonmal.