ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
637788 Топик полностью
Николай Коровин (12.12.2015 17:51, просмотров: 393) ответил alex 54 на Вот фотка энкодкерного узла джойстика.Длинна ленты-носителя составляет 176мм,1024 деления,что равняется 4096 отсчетов по фронтам.Максимальную скорость перемещения от начала до конца ленты можно принять за 1 секунду,следовательно скорость одного
Просто опрашивать можно с совершенно несуразной скоростью. 16 МГц, большинство операций однотактовые. Прочитал один байт с внешних ног (4 оси по 2 сигнала — как раз), пробежался масками по парочкам, сравнил с прошлым состоянием — получил четыре штуки изменений состояния четырёх осей, каждое — один из 4 вариантов «не изменилось», «изменилось на +1», «изменилось на -1» и «ошибка: пропустили одно изменение». Намного меньше миллисекунды. Проблема может возникнуть в тот момент, когда контроллер разово «задумается» на слишком большое время, отправляя, скажем, результаты по USB от лица стандартного HID (разумеется, понадобится контроллер с каким-никаким аппаратным USB). За это время он может что-то крепко «пролюбить». Но! Есть такая славная штука, как «прерывания». Оные можно привязать к таймеру, чтобы, допустим, раз в 0.1 мС контроллер бросал всё и проверял энкодеры, после чего обновлял статусные переменные и возвращался к прерванной задаче. Если она сама, конечно, допускает такое обращение с ней. Есть и второй вариант — использовать тот способ отдачи данных, который исключает возможность надолго «отвлечь» контроллер, например, раз в N опросов текущее положение оси одной командой выплёвывать в пресловутый SPI-мост или… внезапно, в обычный RS-232. Современные RS-232 спокойно работают на мегабоде, это выше крыши. Но тогда снова встаёт проблема распутывания сигналов на стороне писюка, т. е. надо какие-то дровишки будет родить, аналогичные эмуляции дж из мыши. Но только уже не из мыши, а из своего самородного пакета. Да и USB, скорее всего, «приручается» работать с гарантированным максимальным временем высвобождения процесса. Сорри, в плане USB из меня говно помощник. Кстати, а чего там с мышами? Вместо скроллерного колеса (которое суть тот же энкодер) подключены, так? Или это была шариковая мышь, а »сенсоры» имеются в виду оптопрерыватели колёс? И как там частота опроса меняется? Или там вообще голая микросхема, по даташиту разобрались с подключением? И что мешает все оси так сделать, даже допотопный DirectInput ЕМНИП умел работать с разными мышами и клавиатурами раздельно?