Witam!
Potrzebuję pomocy przy budowie pewnego urządzenia, miałoby ono przy uruchomieniu czekać na komendę z pilota i zapamiętać ją.
Przy następnym użyciu pilota mikroprocesor powinien porównać odebrany kod z zapamiętanym i w przypadku zgodności przejść do dalszych działań.
Wymyśliłem coś takiego:
I jak na złość, nie chce działać...
Albo w ogóle olewa przycisk na pilocie albo już po pierwszym (!) naciśnięciu ta wycięta część programu ciągle się powtarza (jakbym co chwila wciskał przycisk).
Miałem sporą przerwę w zabawie z uC i teraz mam w głowie pustkę...
Potrzebuję pomocy przy budowie pewnego urządzenia, miałoby ono przy uruchomieniu czekać na komendę z pilota i zapamiętać ją.
Przy następnym użyciu pilota mikroprocesor powinien porównać odebrany kod z zapamiętanym i w przypadku zgodności przejść do dalszych działań.
Wymyśliłem coś takiego:
$regfile = "m8def.dat"
$crystal = 8000000
Config Pind.3 = Input ' porty
Reset Pind.3
Dim Address As Byte ' zmienne
Dim Command As Byte
Dim Kod As Byte
Dim Flaga_programuj As Byte
Config Int1 = Falling ' Konfiguracja przerwania
Config Rc5 = Pind.3
On Int1 Kod_rc5
Enable Interrupts
Enable Int1
Flaga_programuj = 1
Command = 0
Do
If Flaga_programuj = 1 Then
If Command <> 0 Then
Kod = Command
Flaga_programuj = 0
End If
End If
If Flaga_programuj <> 1 Then
If Kod = Command Then
[TUTAJ DALSZY PROGRAM]
End If
End If
Command = 0
Loop
End
Kod_rc5:
Disable Int1
Enable Interrupts
Getrc5(address , Command)
ReturnI jak na złość, nie chce działać...
Albo w ogóle olewa przycisk na pilocie albo już po pierwszym (!) naciśnięciu ta wycięta część programu ciągle się powtarza (jakbym co chwila wciskał przycisk).
Miałem sporą przerwę w zabawie z uC i teraz mam w głowie pustkę...