MirceaM Postat Iunie 23, 2008 Partajează Postat Iunie 23, 2008 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
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum