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

attiny13 Bascom - Jak zaprogramować reakcję na podwójne kliknięcie?

henryxxl 12 Lut 2014 18:37 1803 10
REKLAMA
  • #1 13293902
    henryxxl
    Poziom 26  
    Witam.
    Muszę napisać program na attiny13 który po pojedynczym kliknięciu wykonuje daną czynność a pod dwóch kliknięciach inną. Problem polega na tym że nie mam pomysłu jak to napisać (piszę w bascom) Proszę o pomoc może być też w innych językach programowania.
    Pozdrawiam.
  • REKLAMA
  • #2 13293950
    ASMnauka
    Poziom 12  
    Witaj.
    Nie ma znaczenia w jakim języku powinien być program.
    Istotny jest fakt, na co na co ma zareagować.
    Kliknięcie to pojęcie względne.
    Nikt z Nas nie ma pojęcia, co ono oznacza.
    Może na przykład być zdarzeniem na klask dłoni, klikniecie lewym przyciskiem myszki PC itp.
    Prosimy o więcej szczegółów.
    Attiny13 posiada przerwania zewnętrzne i oczywiście Timer, więc moim zdaniem jest to najprostsze rozwiązanie problemu.
    Pozdrawiam
  • REKLAMA
  • #4 13294536
    ASMnauka
    Poziom 12  
    Zatem coś już Wiemy.
    Jaka zwłoka czasowa powinna wystąpić podczas podwójnego kliknięcia ?
  • REKLAMA
  • #5 13294597
    krru
    Poziom 33  
    Tak czy inaczej - zapamietujesz moment pierwszego kliku, i czekasz ustalony czas, mierząć czas np. na timerze (niekoniecznie przerwania, możesz po prostu monitorować jak się zwiększa licznik). Jeśli w tym czasie wykryjesz drugie naciśnięcie - od razu wykonujesz operację przewidzianą na dwuklik (dwumlask). Jeśli czas upłynie, a nie wykryto naciśniecia - wykonujesz operacja na pojedynczy klik. Zauważ, że reakcja na dwuklik jest, wbrew pozorom, szybsza.
  • REKLAMA
  • #7 13297302
    ASMnauka
    Poziom 12  
    Cytat:
    To Ty decydujesz jak ma urządzenie działać. Na pewno zwłoka musi być większa od czasu drgań styków (kilkadziesiąt milisekund od wykrycia zwolnienia przycisku).

    Oczywiście że ja, czy inny programista, projektant.
    Lecz styk stykowi jest nierówny.
    Mam aktualnie kilka rodzajów przycisków i niestety na jednym wystarcza 12 ms, a na drugim już 12 jest zbyt mało.
    Tak więc nie ma idealnego rozwiązania z czasem zwłoki (drgania styków).
    Moim zdaniem jest wiele czynników, które wpływają na taki stan rzeczy.
    Między innymi materiał, z jakiego są wykonane styki, czy są pozłacane itd.
  • #8 13297426
    dondu
    Moderator na urlopie...
    Masz rację - są przeróżne i w dodatku zmieniają się w czasie:





    Skoro jednak o tym wiesz to dlaczego pytasz nas:

    ASMnauka napisał:
    Jaka zwłoka czasowa powinna wystąpić podczas podwójnego kliknięcia?

    ... skąd mamy wiedzieć - nie mamy Twoich przycisków w ręku, by to sprawdzić. Nie wiemy też jak szybki chcesz ten dwuklik zrobić, czy masz ograniczenia i musisz ponieść ryzyko (bo to np. urządzenie do badania refleksu lub konsola do gry), czy może dwuklik może być nieco dłuższy, ale dający pewność wykrycia, bo to urządzenie projektowane dla starszej osoby ...

    ... ponowię więc: Ty decydujesz.
  • #9 13297436
    ASMnauka
    Poziom 12  
    Cytat:
    Skoro jednak o tym wiesz to dlaczego pytasz nas

    Zaszło nieporozumienie, pytałem autora tematu.
    Cytat:
    niekoniecznie przerwania, możesz po prostu monitorować jak się zwiększa licznik

    Szanowni Państwo, oraz krru,
    każdy producent urządzenia, procesora itd. przewiduje pewne możliwości.
    Zatem jeżeli istnieje możliwość wykorzystania przerwania zewnętrznego, jak i Timera, Musimy z tego korzystać.
    Owszem, brak wiedzy w tym temacie przeszkadza.
    Jednak gdy ją Zdobędziemy, stwierdzimy jednoznacznie, że jest to jedynie plus.
    A swoją drogą temat powinien znaleźć się w dziale początkujący.
REKLAMA