А я так это делал

Author: Штирлиц [340 views] 2013-10-04 21:53:26
In response to: Re: устранитель дребезга для ротари енкодера by A. Fig Lee, 2013-10-04 19:50:55



void RotaryStepped1(void)
{
static uint8 state = 0;
uint8 res, tp;
res = (ROT_COS | (ROT_SIN << 1));

switch(state)
{
default:
state = 0; // SIN COS
case 0: // 0 0 0
if(res == 1)
{
state = res;
RotState1++;
}
else
if(res == 2)
{
state = res;
RotState1--;
}
RotTimeout = 10; // 100 mS
break;

case 1: // 0 1 1
if(res == 3)
{
state = res;
RotState1++;
}
else
if(res == 0)
{
state = res;
RotState1--;
}
RotTimeout = 10; // 100 mS
break;

case 3: // 1 1 3
if(res == 2)
{
state = res;
RotState1++;
}
else
if(res == 1)
{
state = res;
RotState1--;
}
break;

case 2: // 1 0 2
if(res == 0)
{
state = res;
RotState1++;
}
else
if(res == 3)
{
state = res;
RotState1--;
}
RotTimeout = 10; // 100 mS
break;
}
}

Reply | Reply to sender (private) | Synchronize
 * Седни сфоткал A. Fig Lee [462 views] 71 bytes +1
 *Re: Седни сфоткал Kl03 [322 views] 165 bytes
 *Re: :) A. Fig Lee [308 views] 0 bytes
 *Re: Седни сфоткал Серый Волк [360 views] 4 bytes
 *Re: устранитель дребезга для ротари енкодера A. Fig Lee [305 views] 0 bytes
 * А я так это делал Штирлиц [339 views] 1007 bytes
 *Re: таймаут в енкодере лишний. Будет зависеть от скорости вращения A. Fig Lee [286 views] 193 bytes
 *по таймауту я знаю, что он остановился Штирлиц [286 views] 24 bytes
 *Re: по таймауту я знаю, что он остановился A. Fig Lee [267 views] 34 bytes
 *логикой Штирлиц [277 views] 30 bytes
 *Re: логикой A. Fig Lee [247 views] 37 bytes
 *Re: логикой Штирлиц [288 views] 60 bytes
 *Ны на реальный оборот енкодера там много таких виртуальных "оборотов" Штирлиц [258 views] 0 bytes
 *Re: ясно A. Fig Lee [303 views] 0 bytes
 *Важное уточнение. Функция вызывается в вечном лупе, а не в интерапте Штирлиц [241 views] 0 bytes
 *Re: подожди, подожди.. A. Fig Lee [269 views] 182 bytes
 *да Штирлиц [287 views] 0 bytes
 *Но на дребезге оборота не совершить Штирлиц [255 views] 0 bytes
 *Re: Но на дребезге оборота не совершить A. Fig Lee [256 views] 82 bytes
 *Не совсем так. Число оборотов равно Штирлиц [251 views] 15 bytes
 *Re: Не совсем так. Число оборотов равно A. Fig Lee [276 views] 150 bytes
 *когда 4 оно дребеззжит, а когда делишь на 4 дребезг меньше единицы становится. Штирлиц [288 views] 0 bytes
 *Кстати алгоритм полностью эквивалентен тому, что Штирлиц [272 views] 218 bytes
 *Re: Кстати алгоритм полностью эквивалентен тому, что A. Fig Lee [260 views] 80 bytes
 *Re: логикой Серый Волк [258 views] 118 bytes
 *Да ладно. Мой первый ембеддед проект я делал в году 87-88 Штирлиц [243 views] 323 bytes
 *Re: Да ладно. Мой первый ембеддед проект я делал в году 87-88 Серый Волк [281 views] 83 bytes
 *А разве сервомоторы не функциональный непрерывный фидбек используют Штирлиц [274 views] 315 bytes
 *Re: А разве сервомоторы не функциональный непрерывный фидбек используют Серый Волк [233 views] 46 bytes
 *А он что, не Грей? nemiga [318 views] 28 bytes
 *Re: А он что, не Грей? A. Fig Lee [277 views] 264 bytes
 *Re: А он что, не Грей? nemiga [279 views] 440 bytes
 *Re: А он что, не Грей? Серый Волк [238 views] 54 bytes
 *Re: А он что, не Грей? A. Fig Lee [243 views] 380 bytes
 *Re: А он что, не Грей? nemiga [254 views] 251 bytes
 *Не "Он" а "Она", Саша как-бы женского полу в оригинале, хотя... Pensioner [263 views] 0 bytes
 *А код у нее есть? Штирлиц [236 views] 51 bytes