www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Funkcija tipke odvisna od časa pritiska

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 16.99
Kraj: Črnuče

PrispevekObjavljeno: Tor Apr 26, 2011 6:37 pm    Naslov sporočila: icon_question Funkcija tipke odvisna od časa pritiska Odgovori s citatom

Spet me nekaj muči... Brick wall

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3641
Aktiv.: 15.97

PrispevekObjavljeno: Tor Apr 26, 2011 7:06 pm    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 16.99
Kraj: Črnuče

PrispevekObjavljeno: Tor Apr 26, 2011 8:20 pm    Naslov sporočila: icon_great  Odgovori s citatom

Moram poizkusit....

Zgleda obetavno.

_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3365
Aktiv.: 14.17
Kraj: Dragomer

PrispevekObjavljeno: Tor Apr 26, 2011 10:54 pm    Naslov sporočila:   Odgovori s citatom

č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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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