logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak dodać funkcję podwójnego kliknięcia w RC5 na Attiny13?

zoorgon 30 Maj 2013 20:08 843 2
REKLAMA
  • #1 12363527
    zoorgon
    Poziom 11  
    Witam mam taki problem. napisałem program który za pomocą rc5 przełącza stany na pinach attiny13
    If Adres = 5 Then
    Select Case Komenda
    Case 2:
    Toggle Portb.1
    Waitms 1000
    jest wszystko ok ale....
    chciałbym aby toogle nastąpiło po 2 naciśnięciu tego samego przycisku (ochrona przed przypadkowym naciśnięciem przycisku)
    proszę o pomoc jak to napisać aby program zmieniał stany dopiero po naciśnięciu 2 raz przycisku.
  • REKLAMA
  • #2 12363596
    piotrva
    VIP Zasłużony dla elektroda
    Po pierwsze - sprawdzaj toggle bit nadawany w standardzie RC5 - on poinformuje Cię o tym, że przycisk został zwolniony i naciśnięty ponownie.
    Po drugie - algorytm:
    1. Czekaj na komendę pod poprawnym adresem
    2. Zapisz togglebit, komendę, ustaw czas oczekiwania
    3. Dopóki czas oczekiwania nie minie czekaj na komendę pod poprawnym adresem; Jeśli czas oczekiwania minie idź do kroku 1.
    4. Jeśli komenda jest inna przejdź do kroku 2
    5. Jeśli togglebit jest taki sam przejdź do kroku 2
    6. Wywołaj dane polecenie (podwójne przyciśnięcie - zmieniony togglebit + stale ta sama komenda === to o co Ci chodzi), przejdź do kroku 1.

    Teraz tylko zaimplementuj, czasy odmierzaj za pomocą wolnego timera, całość można zrobić na przerwaniach, żeby nie blokowała pracy procesora. Voila.
  • #3 12363637
    zoorgon
    Poziom 11  
    Dzięki za odpowiedź. Jest naprawdę wyczerpująca ale nie wiem czy udźwignę to co opisałeś. dzięki
    chciałem dodać, że nie udało mi sie zrealizować programu na toggle bit. Ale udało się zamierzony efekt osiągnąć inaczej. Nie wiem czy to poprawnie, ważne, że działa bez problemu...

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Co o tym powiecie??
REKLAMA