Источники питания | "Импульсный блок питания на базе БП ПК" |
|
---|---|---|
Такого точно нет, прерывания никак не блокируются. В общем, надо Линка трясти сильнее. |
|
|
GM: В общем, надо Линка трясти сильнее А что я? Я сам не знаю как оно там сейчас работает. Когда я у себя поменял "хитрый" энкодер на нормальный, то получил ту ситуацию которую вы описываете, т.е. не было никакой реакции на вращение вала. Я взял и отредактировал подпрограмму обработки энкодера т.е. сделал её работоспособной на нормальном энкодере. По одному прерыванию проверяется состояние двух портов и принимается решение о прибавлении или вычитании единицы. |
|
|
Link: По одному прерыванию проверяется состояние двух портов и принимается решение о прибавлении или вычитании единицы. О! А это не оно? |
|
|
тоесть если я вас правилно понял в текущей версии работают кнопки и лищь хитрые энкодеры старого типа? |
|
|
DWD: то вот он и ответ. Ответ на что? musor: если взять новый класический он может незаработать? Ага. |
|
|
Разве этот энкодер старый - инкрементный, 2-х битный с кодом Грея, 24 импульса на оборот? Если он старый, значит в двух интернет магазинах Днепра и Киева продаются только старые энкодеры... musor: если взять новый класический он может незаработать? А что значит "новый класический"? Какой у него алгоритм работы? Чем отличается от того, ссылку на который я привёл? |
|
|
Link: Ответ на что? Предположение о Вашем алгоритме отработки энкодера. |
|
|
DWD: Предположение о Вашем алгоритме отработки энкодера. Всё уже запуталось для вас как я понимаю. |
|
|
Link: Всё уже запуталось для вас как я понимаю. Нет, для меня как раз всё понятно - работает и я доволен. Что мне ещё нужно?.. А вот у GM и Вас - сплошные непонятки: один не может понять, как программа умудряется работать, а второй - как он умудрился такое сочинить. |
|
|
DWD: На момент прерывания состояния портов равны либо 01, либо 10 в зависимости от направления вращения. Если состояния портов фиксировать сразу по прерыванию, а потом проверять, то вот он и ответ. Кстати там всё прозаичней делается, к примеру прерывание настроено по спаду напряжения т.е. на порту на котором возникает прерывание всегда будет нуль, а вот на втором порту в момент прерывания будет либо 0 либо 1 и исходя из стояния второго порта уже и делается операция прибавления или уменьшения. Подпрограмма становится короче и нужно всего одно прерывание в место двух. Но вся эта красота может работать только на нормальном энкодере, в вашей программе используется два прерывания, и почему она работает у вас это действительно большой вопрос. |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |