Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Поллить так часто довольно накладно. Да и лишнее это. Даже без фильтрации всё работает замечательно.
Отправлено
Леонид Иванович
17 сентября 2008 г. 16:32
В ответ на:
По п. 3
отправлено Oldring 17 сентября 2008 г. 16:14
Составить ответ
|
Вернуться на конференцию
Ответы
А в случае delta == 2 возможная альтернатива
-
Oldring
(17.09.2008 16:44:47
91.76.18.148
, 252 байт)
Ну и
-
Oldring
(17.09.2008 16:58:19
91.76.18.148
, 618 байт)
Только окислы это только усугубит :(
-
Oldring
(17.09.2008 17:05:11
91.76.18.148
,
пустое
)
Ну допустим минимальная частота поллинга очевидно ограничена минимальным временем проскока четверти. :)
-
Oldring
(17.09.2008 16:37:57
91.76.18.148
, 260 байт)
По п. 2. Метод, предложенный Вами с fineCounter, работает плохо. Дело в том, что
-
Леонид Иванович
(17.09.2008 17:06:24
87.252.227.56
, 263 байт)
Да, с выделенным состоянием
-
Oldring
(17.09.2008 17:41:47
91.76.18.148
, 687 байт)
Этот вариант, похоже, работает без изъянов. Но находится за гранью понимания :)
-
Леонид Иванович
(17.09.2008 20:01:38
87.252.227.56
, 2258 байт)
Я в другом месте написал более надежный вариант.
-
Oldring
(17.09.2008 20:24:21
85.141.199.21
, 449 байт)
"Недостаток этого кода - на рассматриваемом энкодере можно щелкать энкодером в одну и другую сторону без перещелкивания счетчика." - это в каких ситуациях? Почему-то такого не заметил.
-
Леонид Иванович
(17.09.2008 21:03:2
87.252.227.56
,
пустое
)
Это теоретически.
-
Oldring
(17.09.2008 21:21:41
91.76.17.37
, 103 байт)
В точке механической фиксации оба контакта энкодера разомкнуты (cur = 0).
-
Леонид Иванович
(17.09.2008 18:11:11
87.252.227.56
, 337 байт)
В общем, тогда наверное лучше всего так.
-
Oldring
(17.09.2008 20:14:51
85.141.199.21
, 864 байт)
Работает. Но чем дальше, тем менее понятно. Что такое entry?
-
Леонид Иванович
(17.09.2008 20:57:31
87.252.227.56
,
пустое
)
Состояния энкодера идут не по порядку. Лучше
-
Леонид Иванович
(17.09.2008 21:14:28
87.252.227.56
, 929 байт)
У меня имена состояний указывали какие контакты замкнуты.
-
Oldring
(17.09.2008 21:19:18
91.76.17.37
, 107 байт)
entry
-
Oldring
(17.09.2008 21:13:9
85.141.199.21
, 778 байт)
Так тоже нормально работает.
-
Леонид Иванович
(17.09.2008 21:58:56
87.252.227.56
, 591 байт)
Конечно нормально. Вопрос был в том, что произойдет если из-за окисления контактов начнутся скачки через две четверти сразу?
-
Oldring
(17.09.2008 22:22:44
91.76.17.37
, 738 байт)
Кстати, если программа может на время прекращать поллинг, то лучше делать именно такую полную проверку.
-
Oldring
(17.09.2008 22:27:1
91.76.17.37
,
пустое
)
Как видите, все свелось почти к Вашей первоначальной проверке :)
-
Oldring
(17.09.2008 22:45:20
91.76.17.37
,
пустое
)
Посмотрел только что, как реализован энкодер в микроволновке Самсунг.
-
Леонид Иванович
(17.09.2008 23:32:39
87.252.227.56
, 542 байт)
Да похоже что это распространенная практика.
-
Oldring
(18.09.2008 00:02:28
91.76.17.37
, 499 байт)
Если происходит рассинхронизация - значит присутствуют и неправильно обрабатываются == 2.
-
Oldring
(17.09.2008 17:10:17
91.76.18.148
, 58 байт)
Поллинг сечас быстрый, десятки мкс.
-
Леонид Иванович
(17.09.2008 18:12:17
87.252.227.56
,
пустое
)
Потому что при отсутствии delta == 2 фаза счетчика и вала может отличаться не более чем на 1.
-
Oldring
(17.09.2008 17:12:13
91.76.18.148
,
пустое
)
Да, у Вас в очереди сообщения повторные сообщения не сливаются?
-
Oldring
(17.09.2008 17:14:25
91.76.18.148
, 153 байт)
Начальный запуск программы может производится при любом состоянии энкодера. Да и программа имеет право вообще прекратить на время поллинг энкодера. Поэтому надеяться на синхронность счетчика и вала нельзя.
-
Леонид Иванович
(17.09.2008 18:14:23
87.252.227.56
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru