Электроника - это просто Теоретические и практические вопросы для начинающих электронщиков. |
17.05.2016, 22:59
|
|
Частый гость
Регистрация: 14.06.2013
Адрес: Витебск, Беларусь
Сообщений: 29
Сказал спасибо: 20
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
|
Быстродействие для Arduino
Добрый день!
При создании алгоритма программы (скетча) для Ардуино
столкнулся с проблемой - необходима работа устройства в режиме реального времени. Устройство на Ардуино включает в себя эхолот с длительностью выдачи требуемого сигнала 100 мс, при этом нужно, чтобы опрашивались внешние кнопки. Как я вижу реализацию алгоритма программы,
надо сделать так:
0: перейти на строку 1
1. Опрос эхолота
время t=0 мс
2. Цикл: пока время не равно 100 мс,
опрос кнопок
t++
Если t=100 мс,
считать показания датчика
Вернуться в строку 0
Что думаете по этому поводу?
|
|
|
|
18.05.2016, 01:14
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Быстродействие для Arduino
На этом форуме не шибко то уважают Ардуино, если не сказать больше - вот что думаю по этому поводу. Серьезно.
Касательно алгоритма.
1. Опрос кнопок
2. Опрос датчика
3. Повторить
|
|
|
|
18.05.2016, 01:26
|
|
Прописка
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
|
Re: Быстродействие для Arduino
Непонятно что за эхолот: схема, картинка, ссылка? Опрос кнопок в любом случае исключить, вместо этого запрограммировать прерывания по изменению состояния входов.
|
|
|
|
18.05.2016, 01:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,053
Сказал спасибо: 3,041
Сказали Спасибо 3,212 раз(а) в 2,182 сообщении(ях)
|
Re: Быстродействие для Arduino
Писать код абсолютно без использования абдуриновских скетчей (желательно).
Допустимо - расковырять их до дна для выявления ресурсов. Но проще - п. 1.
|
|
|
|
18.05.2016, 02:07
|
|
Прописка
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
|
Re: Быстродействие для Arduino
Имеется ввиду что для ардуино написано много ламерского шлака и что без курения datashit (не опечатка, новый местный мем) не обойтись. Тем не менее, внешние прерывания вот https://www.arduino.cc/en/Reference/AttachInterrupt
|
|
|
|
18.05.2016, 02:35
|
|
Заблокирован
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,715
Сказал спасибо: 189
Сказали Спасибо 3,199 раз(а) в 2,074 сообщении(ях)
|
Re: Быстродействие для Arduino
Сообщение от setgrey
|
При создании алгоритма программы (скетча) для Ардуино
|
дальше можешь не писать.
изучи нормальные современные процы и всё. и пиши на прямом языке в прямой нормальной среде. кеил например.
да и для авр есть авр студия.
|
|
|
|
18.05.2016, 07:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.02.2012
Сообщений: 5,803
Сказал спасибо: 827
Сказали Спасибо 2,082 раз(а) в 1,493 сообщении(ях)
|
Re: Быстродействие для Arduino
setgrey,
Зайдите на этот форум. Здесь не только уважают Ардуино,но и работают на них.
http://flprog.ru/
Программа пишиться здесь: Все скачивается на форуме. Регистрация простая. Тем полно. Работающих проектов много. Говорильни мало, все по делу.
...единственное, если владеете языками программирования то трудно переходить на языки FBD или
LAD. Тут хорошо кто до этого не владел программированием. Программисты не очень ее уважают.
с этими кубиками. А так за несколько часов можно сделать приличную программу. И перед заливкой ее в контроллер опробовать в Протэусе. Затем через USB кабель залить в реальный.
Для этого все есть и в наборах и отдельно. И цены не дорогие. Выбор есть.
Интернет-магазин. Партнер программы : http://fastnvr.ru/?tracking=552e655ae4f2a
__________________
С Уважением Александр Владимирович
г. Москва
Последний раз редактировалось цифровик; 18.05.2016 в 14:45.
|
|
|
|
18.05.2016, 15:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.03.2006
Сообщений: 3,611
Сказал спасибо: 141
Сказали Спасибо 427 раз(а) в 377 сообщении(ях)
|
Re: Быстродействие для Arduino
setgrey, Никаких "опросов кнопок" , пока не будут обработаны данные.
....
1 Обработка состояния клавиатуры .
Выдача инфы на дисплей.
.....
2 Запрет прерываний
Импульс
Обработка отклика.
Сохранение данных.
Разрешение прерываний.
|
|
|
|
18.05.2016, 20:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.10.2010
Сообщений: 1,752
Сказал спасибо: 158
Сказали Спасибо 640 раз(а) в 364 сообщении(ях)
|
Re: Быстродействие для Arduino
Полно нормальных (в основном зарубежных) ресурсов, с примерами.
А тут только поржать над каментами .
|
|
|
|
19.05.2016, 16:24
|
|
Вид на жительство
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
|
Re: Быстродействие для Arduino
Над чем ржать? Ржать-то не над чем. По сути вопроса. Ну да, я примерно также как johanh подумал.
1) Опрос клавиатуры. Нажимаем "Старт" для начала измерений.
2) Посылаем импульс ультразвука в динамик.
3) Принимаем ответный импульс. В это время нужно запустить таймер и измерить время между "Старт-импульсом" и "Стоп-импульсом".
4) Измеренное время отображаем на индикаторе.
5) Опрос клавиатуры. Если нажата кнопка "Стоп" выходим из подпрограммы измерения.
6) Если не нажата кнопка "Стоп", то повторяем пункты 2-4.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:26.
|
|