Sari la conținut
ELFORUM - Forumul electronistilor

Debouncing la butoane


Postări Recomandate

Avem aici o functie pentru rezolvare chestiune buton (butoane), inclusiv debounce si autorepeat. Se compileaza cu CCS.

//=====================================================================// The following macro is used by the Button function.#define read_bit_var(x)  bit_test(*(U08 *)(x >> 3), x & 7)//=====================================================================U01 U01_button(      U16 pin,       U08 downstate,       U08 IDBR,      U08 rate,       U08 &Bvar,       U01 action    ){ U08 pin_value; // Read the button pin pin_value = read_bit_var(pin); if( pin_value!=downstate ) {   Bvar = 0;   return( !action );    } if( Bvar==0 ) {   if( IDBR==0 ) Bvar = 255;   else          Bvar = IDBR;   return action; } Bvar--;        if( Bvar==0 ) {   Bvar = rate;   if(  (IDBR!=0) && (IDBR!=255)  )     return( action ); } return( !action ); }
Link spre comentariu
  • Răspunsuri 15
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări