Подключил энкодер ( 20 импульсов на оборот) Два канала Аи Б энкодера дают меандр, смещенный на 90 град Делаю прерывание по спаду в А канале - запускаю опрос Б канала., если Б=0 то -1 в лево, если 1 то +1 в право. все работает хорошо., только при вращении в лево пропускает счет - на 50 щелчков энкодера дает значение 42-44. В право без пропусков. Менял программу - давал при вращении в право вычитание - то же самое, ошибка не зависит от направления вращения Делал задержку перед опросом Б ( в прерывании) не помогло. В канале Б точно 0 - это и в описании энкодера и осц. кажет Как побороть?
|