mygtukas debounce patarimų?

L

LTG

Guest
Labas,

Can anybody give me Smart mygtuką debounce algoritmas nenaudojant vėlinimą?Ačiū!

Nuoširdžiausi linkėjimai,
LTG

 
Labas,

Atsiprašome už neaiški informacija.Jame yra 8 bitų ir 16 bitų MCU ir kalbos C.

Nuoširdžiausi linkėjimai,
LTG

 
Aš naudoju jį nustatyti DTMF tonus.kt3170 ..ir 16f84 ..

Tai nėra svarbu ilgai paspauskite arba trumpas Presss bet laiko:

pavyzdžiui

loop:
....
....

jei mygtukas = 0 tada kilpa

jei mygtukas = 1
pauzė 50ms
jei mygtukas = 0 tada kilpa

loop2:
jei mygtukas = 1?
Goto loop2

..
..
..

pabaiga
Paskutinį kartą redagavo cozturk on 03 Jul 2003 15:19, edited 1 kartą

 
Jei naudojate pertraukia tiesiog perskaityti mygtuko (-ų) reguliariai (pavyzdžiui, 50 kartų per sekundę).

Viskas, ką jums reikia padaryti, tai priimti paskutinį mygtuką būklę, palyginti ją su dabartine mygtuką narėje ir jeigu kas nors pasikeitė apie tai pranešti savo pagrindinės programos, ir išlaikyti esamą būklę su paskutiniais mygtuką mygtuką narėje.

Hope this helps

 
Pažvelkite į:
http://www.cypress.com/cfuploads/support/app_notes/Designing_USB_Keyboard.pdf
Page 9

 
Pažvelgti debounce.c ir debounce.h į šią nuorodą: http://mechatronics.me.wisc.edu/labresources/SoftwareLibrary.htm

ir yra šiuo failas atrodo taip: http://ourworld.compuserve.com/homepages/KenKuhn/debounce.c

 
Jei norite ką nors skiriasi, atsižvelgiant į įprastas Smart čia ieškoti:

hxxp: / / www.dattalo.com / Technical / Programinė įranga / PIC / debounce.html

 
Prikabinti algoritmas labai gerai.www.geocities.com / cnc_designer
Atsiprašome, bet jums reikia prisijungęs, kad galėtumėte peržiūrėti šį priedą

 
Aš sutinku su C-Man.Daugelyje programų, paprasčiausias sprendimas yra pavyzdys ne pastovus tarifas mygtuką.Naudokite D-flop ir laikrodis, ar programinės įrangos laikmatis nutraukti.Aš paprastai nustato mėginių ėmimo laikotarpis turi būti bent du kartus blogiausiu atveju Bounce trukmė.Jei mygtukas odbijana 10 ms, I'll nustatytas laikrodis su 50 Hz.

 
Labas,

I'm using Realaus laiko OS ir niekada neturėjo tokių problemų.Uždavinys, kurį nuskaito klaviatūra, wake up kas 10-20ms ir skaityti būklė klavišą.Jei yra Toggle 1-0 pranešti klavišą.Realaus laiko OS naudojimas yra labai lengva kurti "ilgai paspauskite mygtukus, kur Jūs galite pakeisti tų pačių pagrindinių funkcijų - greita spauda - INC / DEC, kol spauda -" ENTER ".
Trust me, raktų ir mygtukų nuskaitymo Realaus laiko OS yra vienas puikus sprendimas.

Nors užduotis yra laukimas (10-20ms) vykdyti kitas užduotis ir toliau dirbti.Visas projektas tampa labai patikimi, su veiktų sklandžiai.

Nuoširdžiausi linkėjimai
Luben

 

Welcome to EDABoard.com

Sponsor

Back
Top