Pulsein из arduino - измерение длительности импульса

Раздел начинающих пользователей
Правила форума
В песочнице можно спрашивать когда незнаешь где спросить.
В песочнице нелзя посылать в гугл
В песочнице можно задавать любой вопрос, но на него могут и неответить.
Песочница для тех, кто начинает свои вопросы с защиты чайников от пинков.
В песочницу будут перетаскиваться вопросы неполучившие ответа.
Песочница - попытка навести порядок.
На песочницу большие надежды.

Pulsein из arduino - измерение длительности импульса

Сообщение Enigm (Enigm) » 15 июл 2012, 09:09

Возможно ли это http://arduino.ru/Reference/PulseIn оформить в виде макроса ?
Если уже где то есть что то подобное, киньте ссылку.
Как я понимаю надо по прерыванию включать таймер и считать.
А вот как полученную цыфру перевести в микросекунды ?
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе

Re: Повторить pulsein из arduino.

Сообщение Taska (Максим) » 15 июл 2012, 14:47

Вот тебе готовое решение , достаточно в прерывании по int дописать строку на настройки типа прерывани с высогоко уровня на низкий.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе

Re: Повторить pulsein из arduino.

Сообщение Enigm (Enigm) » 15 июл 2012, 19:20

Спасибо, ту тему еще давно изучал.
А на АВР это перевести можно?
Просто там же написанно что а АВР надо по другому делать.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение Taska (Максим) » 16 июл 2012, 07:36

Конечно можно, нужно изменить названия регистров в вставках СИ.
Но лучше сделать так.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение Enigm (Enigm) » 16 июл 2012, 13:21

У меня 2 вопроса к вашему примеру.
1) что нужно изменить и по какой формуле, что бы он показывал от 1миллисекунды до 2 миллисекунд в форматее 1000 -2000 ?
А то сейчас странно пишет, если импульс 2 млс он пишет 209 мкс и при импульсе 1млс пишет 233мкс.
2)Можно этот пример переделать без ожидания импульса ?

Или проще будет пиковский под АВР переписать ?
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение Enigm (Enigm) » 16 июл 2012, 13:54

Вот попробовал избавится от ожидания.
Так будет правильно ?
А то мне не нравится что запуск прерывания в цикле находится, а из за обьязательного запрета, по другому не выходит.
А без запрета прерывания, начинает совсем не то мерять.
Или я че то мудрю не там где надо ?
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение Taska (Максим) » 16 июл 2012, 18:50

То что ты сделал это не правильно.
1. Вот меряет как ты хотел.
2. Если импульс не ждать то, что тогда мерять??? :(
3. Этот метод измерения точнее.

Ох здается мне, что это связанно с сервоприводом.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение mim (mim) » 17 июл 2012, 04:57

Привет, Макса! Ты помнишь, мы уже обсуждали с тобой эту тему? Тогда ТС спрыгнул с базара...
Я подсказывал тебе решение этой задачи. Раз уж ты решил выложить исходник, то подумай еще немного над решением задачки.
Окончательный результат поразит тебя своей простотой!!! Я думаю что ты допетришь...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение Enigm (Enigm) » 17 июл 2012, 04:58

Спасибо огромное кажет что надо.
Ну это не сервоприввод, но связанно с радиоуправлением,просто надо аналоговый сигнал разбить на несколько дискретных.
На счет ожидания.
Тут получается что если вдруг пропадут импульсы(а в моем случае это будет) то контролер повиснет в ожидании импульса, а мне в этом случае надо, пару серв крутануть, и при этом не переставать мониторить побаночно батарею.
Вот поэтому и хотелось бы избавится от ожидания, а ловить импульсы на лету.
А можно будет всунуть нужный код в цикл макроса izm ? как повлияет на качество измерения? мне впринципе +-100 хватит.
И где можно почитать как появилась эта формула ?
tik = tiktemp+28;
FCV_MKS = tik>>4;
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: Повторить pulsein из arduino.

Сообщение Enigm (Enigm) » 17 июл 2012, 05:05

mim писал(а):Привет, Макса! Ты помнишь, мы уже обсуждали с тобой эту тему? Тогда ТС спрыгнул с базара...
Я подсказывал тебе решение этой задачи. Раз уж ты решил выложить исходник, то подумай еще немного над решением задачки.
Окончательный результат поразит тебя своей простотой!!! Я думаю что ты допетришь...

Если это вот эта тема Я тогда не спрыгнул )) куча дел появилось,(дете родилось).
А тут решил вернутся, только с авр, а с ними мало дел имел.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

След.

Вернуться в ПЕСОЧНИЦА

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей