 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Highlag Član


Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 16.99 Kraj: Črnuče
|
Objavljeno: Tor Apr 26, 2011 6:37 pm Naslov sporočila: Funkcija tipke odvisna od časa pritiska |
|
|
Spet me nekaj muči...
Rad bi eno tipko uporabil za dve stvari.
Če je pritisk kratek je uporabna za prestavljanje vhodov recimo od 1-5, vsak pritisk povzroči, da procesor vključi drug izhod
Če je pa pritisk dolg recimo 10s pa se izvede neka tretja funkcija (izklop recimo).
Na kakšen način se da tole rešit programsko. Spet ne rabim ravno kode, bolj me zanima princip. Je sploh možno?
Zdi se mi tudi, da nam manjka na forumu ena rubrika za takšna vprašanja, ki so načeloma uporabna za različne platforme. _________________ If at first you don't succeed, destroy all evidence that you tried. |
|
Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 15.97
|
Objavljeno: Tor Apr 26, 2011 7:06 pm Naslov sporočila: |
|
|
Ko je tipka pritisnjena, se povečuje števec.
Ko jo spustiš, pogledaš vrednost števca in jo primerjaš z ustreznimi konstantami.
Če je tipka spuščena, pa števec ves čas brišeš.
pri PIC Zbirniku seveda pazi, da se števec ne obrne okrog
Koda: |
incfsz CasTipke,W ; Če preseže 255 in postane 0, preskoči naslednji korak
incf CasTipke,F ; Če je manjši od 255, poveča, sicer ne.
Če boš zmanjševal števec, pa:
decfsz CasTipke,W ; Če pride do 1 in postane 0, preskoči naslednji korak
decf CasTipke,F ; Če je večji od 1, zmanjša, sicer ne. |
Zadevo lahko hkrati uporabiš tudi za debounce, da ne čakaš brez veze par ms. _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
 |
Highlag Član


Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 16.99 Kraj: Črnuče
|
Objavljeno: Tor Apr 26, 2011 8:20 pm Naslov sporočila: |
|
|
Moram poizkusit....
Zgleda obetavno. _________________ If at first you don't succeed, destroy all evidence that you tried. |
|
Nazaj na vrh |
|
 |
vilko Član



Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3365 Aktiv.: 14.17 Kraj: Dragomer
|
Objavljeno: Tor Apr 26, 2011 10:54 pm Naslov sporočila: |
|
|
često z eno tipko, ki jo različno dolgo pritisnjem, nastavim različen stvari, a običajno samo dve.
običajno z debounce zaznnam pritisk na tipko, potem počakam malo (500 msec) in če je tipka še vedno pritisnjena, tedaj aktiviram funckijo 2, sicer funkcijo 1.
Tako recimo krmilim timer, ki prižiga luč na dvorišču. kratek pritisk na tipko - luč gori 5 minut, dolg pritisk na tipko, luč gori pol ure.
(če pri prižagni luči pritisnem na tipko, pomeni to izklop luči). |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 7 dni
Powered by phpBB © 2001, 2005 phpBB Group
|