Velund 0 29 ноября, 2013 Опубликовано 29 ноября, 2013 · Жалоба Доброе время суток. Возникла некоторое время назад нужда подключить хитрый датчик (точнее манипулятор управления) к поделке на LPC. Тогда как то замялся вопрос, но опять нарисовался сегодня. ;) А я сам как то и не сподобился провести эксперимент. Может у кого то есть готовый ответ на вопрос в конце этого поста? Из характерного - девайс использует наличие напряжения при нахождении в нейтральном положении как индикатор целостности проводки и меандр с частотой пропорциональной отклонению. Очень хорошо вроде бы вписывается в функции QEI. Прямо таки подаешь сигнал и получаешь готовую цифру, пропорциональную отклонению, без нагрузки на проц, да еще и с возможностью сгенерить прерывание если манипулятор резко дернули "вниз". Но вот смущает необходимость при нулевой частоте контролировать наличие логической единицы для проверки того что подключен этот манипулятор и линия цела. В документации непонятно, будет ли читаться пин сконфигуренный под QEI как GPIO. Еще один пин выделять для этого - жалко. Если кто то пробовал использовать QEI и одновременно читать состояние с GPIO - может подскажете что получилось? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 29 ноября, 2013 Опубликовано 29 ноября, 2013 · Жалоба QEI не пробовал, но сейчас у меня в проекте используются входы EventMonitor-а, которые опрашиваются как GPIO когда есть питание и как входы EventMonitor-а, когда питание выключено (без переконфигурирования естественно). Конфигурю на них функцию GPIO, но получается что функция EventMonitor всё равно при этом работает (и при вкл. питании и при выкл.). Конечно функция GPIO включена на ввод. LPC1778. Так что у вас есть надежда. Пробуйте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 29 ноября, 2013 Опубликовано 29 ноября, 2013 · Жалоба сразу напишу - подобным вопросом не задавался, так как пинов хватало и я не жадный ;) вот цитата из мануала на 1768 GPIO port Pin value register FIOxPIN (FIO0PIN to FIO4PIN- 0x2009 C014 to 0x2009 C094) This register provides the value of port pins that are configured to perform only digital functions. The register will give the logic value of the pin regardless of whether the pin is configured for input or output, or as GPIO or an alternate digital function. As an example, a particular port pin may have GPIO input, GPIO output, UART receive, and PWM output as selectable functions. Any configuration of that pin will allow its current logic state to be read from the corresponding FIOxPIN register. можно проверить на том же уарте, но я бы еще и пин заложил... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 29 ноября, 2013 Опубликовано 29 ноября, 2013 · Жалоба Квадратурный энкодер ни разу не использовал, но состояние ног UART / SPI / I2C отлично считывается с GPIO. LPC1768 Для внешнего прерывания, кстати, довольно удобно - настраиваешь на фронт, а потом разбираешься, закончилось оно, или ещё нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 2 декабря, 2013 Опубликовано 2 декабря, 2013 (изменено) · Жалоба Если кто то пробовал использовать QEI и одновременно читать состояние с GPIO - может подскажете что получилось? я так делаю. Работает. Как-то так i = LPC_GPIO1->FIOPIN; //разряды LPC_QEI = 20,23,24 if(i & 0x0100000) v |=0x01; if(i & 0x0800000) v |=0x02; if(i & 0x1000000) v |=0x04; только чтоб QEI считало нужно, чтоб было два меандра - "синус-косинус". Изменено 2 декабря, 2013 пользователем evgen2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 2 декабря, 2013 Опубликовано 2 декабря, 2013 · Жалоба я так делаю. Работает. Как-то так i = LPC_GPIO1->FIOPIN; //разряды LPC_QEI = 20,23,24 if(i & 0x0100000) v |=0x01; if(i & 0x0800000) v |=0x02; if(i & 0x1000000) v |=0x04; только чтоб QEI считало нужно, чтоб было два меандра - "синус-косинус". Там 2 режима - "квадратурный кодер" и "датчик импульсов плюс сигнал направления". Вот последний и планировалось использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evgen2 0 3 декабря, 2013 Опубликовано 3 декабря, 2013 · Жалоба Там 2 режима - "квадратурный кодер" и "датчик импульсов плюс сигнал направления". Да, действительно. Подзабыл за ненадобностью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 22 декабря, 2013 Опубликовано 22 декабря, 2013 · Жалоба Чтобы закрыть тему... ;) Оно работает. ;) Частотомер плюс контроль логического уровня при частоте равной нулю на одном пине живут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться