Naciskam przycisk menu i pojawia mi się 1 parametr następne naciśnięcie drugi parametr, trzeci i czwarty po następnych naciśnięciach. Klawiszem enter zatwierdzam parametr, który chcę zmienić i przechodzę do procedury ustawiania wartości parametru i teraz nie wiem jak napisać procedurę, aby zmieniał się parametr, który ją wywołał.
Kod: Zaznacz cały
Dim Keyup As Bit , Keydown As Bit , Key_menu As Bit , Keyenter As Bit
Dim Menu As Byte , Keys As Byte , X As Byte
Dim A1_l As Byte , A1_h As Byte , A2_l As Byte , A2_h As Byte , Temp As Byte
Key_menu Alias P3.1
Keyup Alias P3.2
Keydown Alias P3.3
Keyenter Alias P3.4
Config Lcd = 16 * 1a
Do
If Key_menu = 0 Then 'wybranie nr ekranu 1-4 przyciskiem
Incr Menu
End If
Waitms 100
If Menu = 5 Then
Menu = 1
End If
Cls
Waitms 100
Select Case Menu 'jeżeli zdecydujemy się na dany
Case 1 : Lcd "Alarm1_L" ; A1_l 'ekran wciskamy enter to skacze
If Keyenter = 0 Then 'do ustawiania wartości"Nastawa"
Gosub Nastawa
End If
Case 2 : Lcd "Alarm1_H" ; A1_h
If Keyenter = 0 Then Gosub Nastawa
Case 3 : Lcd "Alarm2_L" ; A2_l
If Keyenter = 0 Then Gosub Nastawa
Case 4 : Lcd "Alarm2_H" ; A2_h
If Keyenter = 0 Then Gosub Nastawa
End Select
Loop
Nastawa:
Do
If Keyup = 0 Then 'jak teraz zmienić wartość konkretnego
'parametru, który wywołał tą procedure
Incr A1_l 'aby nie pisać kilka razy tego samego
End If 'fragmentu kodu
'z innym parametrem
If Keydown = 0 Then
Decr A1_l
End If
If Keyenter = 0 Then 'wracamy z procedury dopiero
Return 'jak zaakceptujemy wartość Enterem
End If
Loop