Witam. Napisałem program w bascomie, zwykły termostat z wyjściem na przekaźnik. Mikroprocesor to Atmega8 + lcd + DS18b20 + 2 przyciski. Przerwania działają, lcd tak samo, jednak program nie chce odczytywać danych z czujnika. Sądzę że jest dobry gdyż tą cześć kodu która ma służyć do obsługi czujnika zaczerpnąłem z tego forum. Kod zamieszczam poniżej i proszę o jakieś sugestie i wytknięcie błędu.
Poprawiłem tytuł:
https://www.elektroda.pl/rtvforum/topic1015361.html
[c_p]
Code:
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 24 * 2
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Config 1wire = Portb.0
Config Portd.0 = Output
Config Int0 = Falling
Config Int1 = Falling
Dim A As Byte
Dim A1 As Single
Dim A2 As Single
Dim T1 As Single
Dim T2 As Single
Declare Sub Odczyt_temp
Pk Alias Portd.0
Enable Interrupts
Enable Int0
Enable Int1
On Int0 Pr1
On Int1 Pr2
Cursor Off
Reset Pk
A = 20
Cls
Do
Call Odczyt_temp
Locate 1 , 1
Lcd A
Locate 2 , 1
Lcd T2
A1 = A + 1
A2 = A - 1
If T2 > A1 Then
Set Pk
End If
If T2 < A2 Then
Reset Pk
End If
Loop
End
Pr1:
If A < 30 Then
A = A + 1
End If
Return
Pr2:
If A > 10 Then
A = A - 1
End If
Return
Sub Odczyt_temp
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 750
1wreset
1wwrite &HCC
1wwrite &HBE
T1 = 1wread(2)
T1 = T1 * 10
T1 = T1 / 16
T2 = T1 / 10
End Sub
Poprawiłem tytuł:
https://www.elektroda.pl/rtvforum/topic1015361.html
[c_p]