Witam
Jestem początkujący w sprawach programowania i robię sobie przykłady z książki Marcina Wiązania. Podczas pisania programu do odczytu z magistrali 1wire wyskakuje mi błąd takie błędy:
Tutaj jest program do tego
Proszę o pomoc z góry dziękuje. Program to Bascom Avr 1.11.9.5
Jestem początkujący w sprawach programowania i robię sobie przykłady z książki Marcina Wiązania. Podczas pisania programu do odczytu z magistrali 1wire wyskakuje mi błąd takie błędy:
Code:
Error : 40 Line : 0 Variable can not be used with RESET [PORT1] , in File :
Error : 41 Line : 0 Variable can not be used with SET [PORT1] , in File :
Error : 40 Line : 0 Variable can not be used with RESET [PORT1] , in File :
Tutaj jest program do tego
Code:
$regfile = "m8def.dat" ' zdeklarowane dla Atmegi8
$crystal = 8000000 ' Taktowanie wewnetrzne 1mHz
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5
Config 1wire = Portc.0 ' ustawienie pinu dla magistrali 1wire (czujnik temperatury)
Declare Sub Odcz_temp
Dim Temp(2) As Byte ' adres czujnika temperatury
'definicja znaku stopnia
Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32
Do
Call Odcz_temp
Cls
If Temp(2) = 0 Then
Lcd "Temp: " ; Temp(1) ; Chr(0) ; "C"
Else
Lcd "Temp: -" ; Temp(1) ; Chr(0) ; "C"
End If
Loop
End
Sub Odcz_temp
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
Temp(1) = 1wread(2)
1wreset
If Err = 1 Then
Cls
Lcd "Brak układu"
Do
Loop
End If
If Temp(2) > 0 Then
Temp(1) = 256 - Temp(1)
End If
Temp(1) = Temp(1) / 2
End Sub
Proszę o pomoc z góry dziękuje. Program to Bascom Avr 1.11.9.5