Hallo!
unterhalb mal mein Progi. Nach dem ich es auf einem M32 fertig zum Laufen gebracht habe, versuchte ich dies dann auf einen Attiny2313 zu spielen. Leider gibt er immer undefinierte Werte für die Temperatur aus
Kann jemand helfen?
Danke!!!
Nimm bitte Code-Tags. Wird übersichtlicher (PIcNIck)Code:$regfile = "attiny2313.dat" ' specify the used micro $crystal = 12000000 ' used crystal frequenz '$sim '****Configuration LCD*********** Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.0 , Rs = Portd.1 Config Lcd = 16 * 1 'configure lcd scree Initlcd ' initialisiere LCD Cls Config 1wire = Portb.3 Dim T1 As Byte Dim T2 As Byte Dim I As Byte Dim Id1(8) As Byte Dim Id2(8) As Byte Dim Ar1(2) As Byte Dim Ar2(2) As Byte Dim Ar(2) as Byte 'Dim Ar(3) as Byte 'Dim A as byte DIM Temperatur1 as Integer DIM Temperatur2 as Integer Dim Halb as Byte Id1(1) = 1wsearchfirst() Id2(1) = 1wsearchnext() '***Sensor 1************************************************************************ Do 1wreset 'reset 1wwrite &H55 'Match Rom command 1wwrite Id1(1) , 8 'Id von Sensor 1 1wwrite &H44 'Convert T Waitms 300 'warten bis convert T fertig ist 1wreset 'reset 1wwrite &H55 'match rom command 1wwrite Id1(1) , 8 'id von sensor 1 1wwrite &HBE For I = 1 To 2 Ar(i) = 1wread(1) Next 'Deflcdchar 0 , 4 , 10 , 10 , 4 , 32 , 32 , 32 , 32 ' replace ? with number (0) Locate 1 , 1 Temperatur1 = Ar(1) If Ar(2) > 0 Then Temperatur1 = 0 Else Shift Temperatur1 , Right Lcd Temperatur1 ; "."; Halb = Ar(1) And 1 If Halb = 1 Then Lcd "5" Else Lcd "0" Locate 1 , 5 LCD ; Chr(0) ; "C" '*****Sensor2***** Waitms 500 1wreset 'reset 1wwrite &H55 'Match Rom command 1wwrite Id2(1) , 8 'Id von Sensor 2 1wwrite &H44 'Convert T Waitms 300 'warten bis convert T fertig ist 1wreset 'reset 1wwrite &H55 'match rom command 1wwrite Id2(1) , 8 'id von sensor 2 1wwrite &HBE 'scratchpad lesen For I = 1 To 2 Ar(i) = 1wread(1) Next 'Deflcdchar 0 , 4 , 10 , 10 , 4 , 32 , 32 , 32 , 32 ' replace ? with number (0) Locate 1 , 10 Temperatur2 = Ar(1) If Ar(2) > 0 Then Temperatur2 = 0 Else Shift Temperatur2 , Right Lcd Temperatur2 ; "."; Halb = Ar(1) And 1 If Halb = 1 Then Lcd "5" Else Lcd "0" Locate 1 , 14 LCD ; Chr(0) ; "C" Waitms 500 loop
Lesezeichen