ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
8 июля
264320 Топик полностью
KT (28.07.2011 23:10, просмотров: 62) ответил silver на Подскажите насчет обработки сигнала от энкодера.
Странно, вроде не сталкивался с дребезгом у мех. енкодера, попробуй так Выдрал кусок из старого проекта, работало все как часы. #define st1 0b00 #define st2 0b10 #define st3 0b11 #define st4 0b01 signed char encoder_div; unsigned char coder, old_coder; void ENCODER(void) { coder=PORTC&0b00000011; switch (coder) { case st1: if (old_coder==st4) ++encoder_div; if (old_coder==st2) --encoder_div; break; case st2: if (old_coder==st1) ++encoder_div; if (old_coder==st3) --encoder_div; break; case st3: if (old_coder==st2) ++encoder_div; if (old_coder==st4) --encoder_div; break; case st4: if (old_coder==st3) ++encoder_div; if (old_coder==st1) --encoder_div; break; } old_coder=coder; }