Для кнопок использую примерно такую фнкцию, вызывая ее каждые 10 ms.
PHP код:
|
#define t_o 10 // ms период опроса кнопки
#define t_dr 50 // ms время на дребезг
#define t_bg 2000 // ms время до начала автоповтора
#define t_rp 100 // ms период автопотора
char Key(int *cnt ,char SostPin)
{
if(SostPin == 0)
{
*cnt = 0;
return 0;
}
(*cnt)++;
if(*cnt == ( ( t_dr / t_o )+1 ) ) return 1;
if(*cnt == ( ( t_bg / t_o )+1 ) )
{
*cnt-= (t_rp/t_o);
return 1;
}
return 0;
}
|