Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[BASCOM][RC5] - Odbiór kodu RC5

dumel111 29 Sie 2013 17:42 2745 6
  • #1 29 Sie 2013 17:42
    dumel111
    Poziom 17  

    Witam !

    Mam pewien problem z odbiorem kodu w podczerwieni RC5.
    Do procesora mam wgrany prosty programik wyświetlający adres / komendę:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Działa on prawidłowo, na wyświetlaczu pokazują się poprawne wartości. Potrzebuję odbierać kod poza głównym programem, dlatego dodałem procedurę, w której pojawienie się stanu niskiego na końcówce PIND.2 odeśle do etykiety z procedurą obsługi RC5.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Niestety program nie chce już działać. Nie wiem dlaczego, ale odbiera mi adres 255 i komende 127.

    Proszę o pomoc, pozdrawiam

    Dodano po 2 [godziny] 40 [minuty]:

    Już chyba wiem o co chodzi. Funkcja GETRC5 reaguje na zbocze narastające, więc niemożliwe jest odebranie kodu w przerwaniu, chyba żeby czekać na następny kod. Albo pozostaje zmodyfikować bibliotekę.

    0 6
  • #2 29 Sie 2013 20:50
    M. S.
    Poziom 34  

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    W helpie przy GETRC5 zalecają użycie tej biblioteki.

    Odbiornik IRED powinien wystawiać 1 na wyjściu gdy nie odbiera żadnego sygnału (sprawdź czy tak jest), więc sygnał zaczyna się stanem niskim.
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod
    jest zatem właściwe

    Spróbuj przed pętlą główną skonfigurować końcówkę d.2 jako wejście z podciąganiem.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Po co ci ten warunek?

    1
  • #3 29 Sie 2013 21:38
    dumel111
    Poziom 17  

    A więc mam taki program:

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Niezależnie od przycisku adres wynosi 255, komenda 127.

    1
  • #4 30 Sie 2013 01:28
    rekinisko
    Poziom 22  

    Jesteś pewien, że masz pilota RC5? Ja też byłem taki pewien i myliłem się a objaw był dokładnie taki sam.

    0
  • #5 30 Sie 2013 09:08
    dumel111
    Poziom 17  

    Tak, pilot nadaje w kodzie RC5. W pierwszym programie który podałem, gdzie GETRC5 było umieszczone w pętli Do...Loop poprawnie odbierał komendy.

    0
  • #6 30 Sie 2013 15:47
    M. S.
    Poziom 34  

    Można spróbować taktować uC z generatora wewnętrznego 8MHz. 16MHz może być dla RC5 za szybko. Być może wychodzi z podprogramu i w przypadkowym momencie gdy występuje stan niski na końcówce znów wchodzi do podprogramu odczytując bzdury. Na próbę daj opóźnienie na wyjściu z podprogramu.

    1
  • #7 31 Sie 2013 11:48
    dumel111
    Poziom 17  

    Problem rozwiązany.

    Config Rc5 = Pind.2 , Wait = 4000

    1