Сообщение от Рома45
|
MBA у меня в железе работает, но как и где изменить шаг перестройки, что долго не крутить энкодер. Спасибо. Файл PROJ
|
Всем привет.
Количество оборотов энкодера будет зависеть от его типа. К примеру, если это 24 импульса на оборот, то на каждый импульс, счетчик сделает 4 инкремента или декремента, в зависимости от того в какую сторону Вы крутите ручку. Получается 24*4=96 действий на оборот. таймер изменяется значением от 0 до 255. Значит 255:96=2,66 оборота на полный диапазон регулировки. Если его надо изменить, мне обычно приходилось увеличивать количество оборотов для увеличения плавности регулировки, я делал двухбайтный счетчик и сдвигом вправо делил результат, при этом надо в функции инкремента следить, чтобы значение не стало больше 510, чтобы при делении получилось максимальное число 255.
А если надо наоборот, просто загрубить, то можно умножать на 2 счетчик энкодера перед занесением его в регистр сравнения, но то же надо следить, чтобы не было переполнения регистра. Счетчик то однобайтный.
P.S. В функциях инкремент или декремента счетчика нужно прибавлять или отнимать единицу с переносом. А сейчас упрощенный вариант - простой инкремент и декремент.