Witam,
od jakiegoś czasu próbuje zrobić poruszanie się po menu za pomocą nadajnika rc5. Namodziłem coś takiego, ale nie działa. Docelowo ma to działać: jeżeli układ odbierze komendę 10 to ma wejść do wyższej pozycji w menu. Czy można jakoś emulować odebrane komendy jako zwykły przycisk? Wysyłana jest komenda 10 to S1=0, wysyłana komenda 20 to S2=0 itd.
od jakiegoś czasu próbuje zrobić poruszanie się po menu za pomocą nadajnika rc5. Namodziłem coś takiego, ale nie działa. Docelowo ma to działać: jeżeli układ odbierze komendę 10 to ma wejść do wyższej pozycji w menu. Czy można jakoś emulować odebrane komendy jako zwykły przycisk? Wysyłana jest komenda 10 to S1=0, wysyłana komenda 20 to S2=0 itd.
Config Int0 = Low Level
On Int0 Rc_5
Enable Interrupts
Enable Int0
Sub Menu
Menu = 1
Do
Disable Int0
Call Lcdinit
Select Case Menu
Case Is = 1
Lcdclear
Lcdgoxy 1 , 1
Lcdstr "wyb. tekstu" , 1 , 1
Lcdgoxy 1 , 2
Lcdstr "temperatura" , 1 , 0
Lcdgoxy 1 , 3
Lcdstr "data i godzina" , 1 , 0
Lcdgoxy 1 , 4
Lcdstr "zapis pam." , 1 , 0
Lcdgoxy 1 , 5
Lcdstr "napiecie bat." , 1 , 0
Lcdgoxy 1 , 6
Lcdstr "plan lekcji" , 1 , 0
Lcdupdate
Case Is = 2
Lcdclear
Lcdgoxy 1 , 1
Lcdstr "wyb. tekstu" , 1 , 0
Lcdgoxy 1 , 2
Lcdstr "temperatura" , 1 , 1
Lcdgoxy 1 , 3
Lcdstr "data i godzina" , 1 , 0
Lcdgoxy 1 , 4
Lcdstr "zapis pam." , 1 , 0
Lcdgoxy 1 , 5
Lcdstr "napiecie bat." , 1 , 0
Lcdgoxy 1 , 6
Lcdstr "plan lekcji" , 1 , 0
Lcdupdate
Case Is = 3
Lcdclear
Lcdgoxy 1 , 1
Lcdstr "wyb. tekstu" , 1 , 0
Lcdgoxy 1 , 2
Lcdstr "temperatura" , 1 , 0
Lcdgoxy 1 , 3
Lcdstr "data i godzina" , 1 , 1
Lcdgoxy 1 , 4
Lcdstr "zapis pam." , 1 , 0
Lcdgoxy 1 , 5
Lcdstr "napiecie bat." , 1 , 0
Lcdgoxy 1 , 6
Lcdstr "plan lekcji" , 1 , 0
Lcdupdate
Case Is = 4
Lcdclear
Lcdgoxy 1 , 1
Lcdstr "wyb. tekstu" , 1 , 0
Lcdgoxy 1 , 2
Lcdstr "temperatura" , 1 , 0
Lcdgoxy 1 , 3
Lcdstr "data i godzina" , 1 , 0
Lcdgoxy 1 , 4
Lcdstr "zapis pam." , 1 , 1
Lcdgoxy 1 , 5
Lcdstr "napiecie bat." , 1 , 0
Lcdgoxy 1 , 6
Lcdstr "plan lekcji" , 1 , 0
Lcdupdate
Case Is = 5
Lcdclear
Lcdgoxy 1 , 1
Lcdstr "wyb. tekstu" , 1 , 0
Lcdgoxy 1 , 2
Lcdstr "temperatura" , 1 , 0
Lcdgoxy 1 , 3
Lcdstr "data i godzina" , 1 , 0
Lcdgoxy 1 , 4
Lcdstr "zapis pam." , 1 , 0
Lcdgoxy 1 , 5
Lcdstr "napiecie bat." , 1 , 1
Lcdgoxy 1 , 6
Lcdstr "plan lekcji" , 1 , 0
Lcdupdate
Case Is = 6
Lcdclear
Lcdgoxy 1 , 1
Lcdstr "wyb. tekstu" , 1 , 0
Lcdgoxy 1 , 2
Lcdstr "temperatura" , 1 , 0
Lcdgoxy 1 , 3
Lcdstr "data i godzina" , 1 , 0
Lcdgoxy 1 , 4
Lcdstr "zapis pam." , 1 , 0
Lcdgoxy 1 , 5
Lcdstr "napiecie bat." , 1 , 0
Lcdgoxy 1 , 6
Lcdstr "plan lekcji" , 1 , 1
Lcdupdate
End Select
If Gora = 1 And Menu < 6 Then
Incr Menu
Reset Gora
Waitms 222
End If
If Gora = 1 And Menu = 6 Then
Menu = 1
Reset Gora
Waitms 222
End If
If Dol = 1 And Menu > 1 Then
Decr Menu
Reset Dol
Waitms 222
End If
If Dol = 1 And Menu = 1 Then
Menu = 6
Reset Dol
Waitms 222
End If
Enable Int0
Loop
Rc_5:
Disable Int0
Enable Interrupts
Getrc5(address , Command)
Command = Command And &B01111111
Select Case Command
Case 10 :
Set Gora
Case 20 :
Set Dol
Case 30 :
Set Lewo
Case 40 :
Set Prawo
End Select
Return
End Sub