Witam , napisałem prosty zegar dla mikroukładu z procesorem a1280. Wszystko działało pięknie dopóki nie dopisałem procedur odpowiedzialnych za ustawienie tego zegara, kompilator (BASCOM-AVR) wywala błędy, które nic mi nie mówią. Proszę o analizę, będe wdzięczny za wszelką pomoc, pozdrawiam.
$regfile = "m1280def.dat"
$crystal = 4000000
$sim
$hwstack = 40
$swstack = 16
$framesize = 32
Declare Sub Ustaw 'podprogram ustawiający zegar
Dim S As Byte 'zmienna sekund
Dim M As Byte 'zmienna minut
Dim H As Byte 'zmeinna godzin
Dim Key As Byte 'zmienna klawisza z klawiatury
Do
Key = Getkbd()
If Key = 3 Then : Call Ustaw : End If 'jesli kliknięto A to ustaw zegar
Wait 1
Incr S
If S >= 59 Then
S = 0
Incr M
If M >= 59 Then
M = 0
Incr H
If H >= 24 Then H = 0
End If
End If
Locate 1 , 1
If H < 10 Then : Lcd " " : End If : Lcd H ; ":"
If M < 10 Then : Lcd "0" : End If : Lcd M ; ":"
If S < 10 Then : Lcd "0" : End If : Lcd S ;
Loop
End 'end program
Sub Ustaw
Do
Locate 2 , 1
Lcd "podaj godzine "
Locate 1 , 1
Lcd "__:__:__ "
H = Getkbd()
If H < 10 Then : Lcd " " : End If : Lcd H ; ":__:__ "
Key = Getkbd()
If Key = 7 Then Exit Do
Loop
Do
Locate 2 , 1
Lcd "podaj minuty "
Locate 1 , 1
If H < 10 Then : Lcd " " : End If : Lcd H ; ":__:__ "
M = Getkbd()
If M < 10 Then : Lcd "0" : End If : Lcd M ; ":__ "
Key = Getkbd()
If Key = 7 Then Exit Do
Loop
Do
Locate 2 , 1
Lcd "podaj minuty "
Locate 1 , 1
If H < 10 Then : Lcd " " : End If : Lcd H ; ":"
If M < 10 Then : Lcd "0" : End If : Lcd M ; ":__ "
S = Getkbd()
If S < 10 Then : Lcd "0" : End If : Lcd S ; ":__ "
Key = Getkbd()
If Key = 7 Then Exit Do
Loop
Cls
Locate 1 , 1
Lcd "ustawiono na "
Locate 2 , 1
Lcd H ; ":" ; M ; ":" ; S
Wait 3
End Sub