Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Электроника - это просто Теоретические и практические вопросы для начинающих электронщиков.

 
Опции темы

Быстродействие для Arduino

Непрочитано 20.05.2016, 10:24  
Wlad1453
Прописка
 
Регистрация: 03.06.2009
Адрес: С.-Петербург
Сообщений: 148
Сказал спасибо: 112
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Wlad1453 на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от Easyrider83 Посмотреть сообщение
Видали мы их библиотеки. Не удивительно, что производительности им не хватает. Простейшие свистелки еще как-то выходят, а если чего посложнее, уже никак.
Да ладно. Причем тут библиотеки. Нужно изначально понимать, что это 8 бит и 16 МГц. Т.е. Ардуины предназначены для определенного класса задач.

Задачи же могут быть и не такими уж и простыми. Например легко реализуется парсер для NMEA с индикацией. Да и другие задачи по автоматизации: Опрос многочисленных датчиков, регулирование и т.п.

Для более сложных задач можно распределять ресурсы по нескольким Ардуинам, строя сеть, например RS485. Или строить сеть с центральным контроллером STM или Raspberry и с периферией или исполнительными устройствами на Ардуинах.

Основное преимущество, что за 180 р. можно купить процессор с 16 GPIO пинами, SPI, I2C, OneWire и UART'ом. А также с доступом ко всей функциональности AVR (mega168, 328, 2560), таймерам, регистрам, ADC (10 бит), PWM и т.д.
И, что и есть самое главное, осуществить сверх быстрый "старт" для человека, знакомого только с основами программирования.
Реклама:

Последний раз редактировалось Wlad1453; 20.05.2016 в 11:21.
Wlad1453 вне форума  
Непрочитано 20.05.2016, 10:28  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

За эти же деньги можно купить STM32Discovery, получить 32 бита, возможность запуска RTOS, а про интерфейсы я вообще молчу. Бонусом будет бесплатный realtime debugger прямо на плате.
Easyrider83 вне форума  
Непрочитано 20.05.2016, 10:39  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от Wlad1453 Посмотреть сообщение
А также с доступом ко всей функциональности AVR
Не ко всей, через задницу и неэффективно.
Это если использовать абдуриновские еблиотеки. Лучше обходиться без Абдури.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Сказали "Спасибо" akegor
ForcePoint (20.05.2016)
Непрочитано 20.05.2016, 10:50  
tele_puz
Прописка
 
Аватар для tele_puz
 
Регистрация: 13.03.2007
Сообщений: 135
Сказал спасибо: 7
Сказали Спасибо 37 раз(а) в 22 сообщении(ях)
tele_puz на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

STM -еще тот геморрой! Если вам нужен результат, а не "32 бита и RTOS" то Ардуино вам это даст без гемора и затрат времени.
Работал и с тем и с тем, знаю о чем говорю.
А вообще-то, весь Али сейчас заполонили STM32 Ардуины. Но 32 в них - это сплошное шапкозакидательство. По производительности то же самое, что 8 бит и 16 МГц на старом добром мини или нано.
tele_puz вне форума  
Непрочитано 20.05.2016, 10:50  
Wlad1453
Прописка
 
Регистрация: 03.06.2009
Адрес: С.-Петербург
Сообщений: 148
Сказал спасибо: 112
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Wlad1453 на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от Easyrider83 Посмотреть сообщение
За эти же деньги можно купить STM32Discovery, получить 32 бита, возможность запуска RTOS, а про интерфейсы я вообще молчу. Бонусом будет бесплатный realtime debugger прямо на плате.
Можно. Истинная правда. Причем тоже сравнительно дешево, поэтому СТМ32 это сильные конкуренты. Но, для работы с СТМ нужна все-таки более высокая квалификация, чем с Ардуиной, где с помощью абсолютно простого IDE можно практически сразу писать что-нибудь осмысленное.

P.S. Кстати, самую дешевую STM32, а именно STM32F103C8T6 я нашел за 350 руб. А это, хотя и не так дорого, но все-таки в два раза дороже Ардуины (nano на mega328 ) в подобном форм-факторе.

Последний раз редактировалось Wlad1453; 20.05.2016 в 11:02.
Wlad1453 вне форума  
Непрочитано 20.05.2016, 11:16  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,313
Сказал спасибо: 2,633
Сказали Спасибо 12,076 раз(а) в 6,082 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от tele_puz Посмотреть сообщение
Работал и с тем и с тем, знаю о чем говорю.
А вообще-то, весь Али сейчас заполонили STM32 Ардуины. Но 32 в них - это сплошное шапкозакидательство. По производительности то же самое, что 8 бит и 16 МГц на старом добром мини или нано.
Сегодня уже давно не первое апреля! И шутки в других темах.
Хотя... Может и свели абдуринщики все плюшки СТМ32 к "хуже восьмибиток"... Вам, наверное, виднее.
Потому и говорится везде и в полный голос: "Абдурина - зло!"
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 20.05.2016 в 11:18.
akegor вне форума  
Непрочитано 20.05.2016, 11:59  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Ну такое вот сомнительное оправдание своей некомпетентности. А что, пусть так, зато честно.
Easyrider83 вне форума  
Непрочитано 20.05.2016, 12:14  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от Wlad1453 Посмотреть сообщение
Нужно изначально понимать, что это 8 бит и 16 МГц.
...
Для более сложных задач можно распределять ресурсы по нескольким Ардуинам, строя сеть, например RS485. Или строить сеть с центральным контроллером STM или Raspberry и с периферией или исполнительными устройствами на Ардуин
ДА ЛАДНО?? Фигасе до чего техника дошла, надоже
NewWriter вне форума  
Непрочитано 20.05.2016, 12:34  
ForcePoint
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,459
Сказал спасибо: 3,227
Сказали Спасибо 3,512 раз(а) в 2,393 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от NewWriter Посмотреть сообщение
ДА ЛАДНО?? Фигасе до чего техника дошла, надоже
А то! "Теперь, со всей этой ***нёй мы попробуем взлететь".
ForcePoint вне форума  
Непрочитано 20.05.2016, 12:54  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Быстродействие для Arduino

Сообщение от Wlad1453 Посмотреть сообщение
можно реализовать некоторую функциональность RTOS, т.е. проверять состояние датчика и клавиатуры через определенные заданные промежутки времени с помощью стандартных (для Ардуины) функций millis() или micros(). При этом все остальное время, т.е. ресурсы процессора, будет свободно для других задач.

Клавиатуру же (как и некоторые другие устройства), если не хватает пинов, можно реализовать на I2C и микросхеме pcf8574 (50-100 руб)
Дисплей можно по I2C, давайте поставим lcd 1602 hd44780 + модуль pcf8574=1.5€+0.8€
Суммарная стоимость 6.8€
Кнопки пока непонятно сколько надо, по крайней мере одна - "старт"
Про алгоритм измерения я не понял что вы предлагаете, опрос?
Опрос датчика можно делать функцией pulseIn библиотеки Wiring:
Код:
#include "wiring_private.h"
#include "pins_arduino.h"

/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH
 * or LOW, the type of pulse to measure.  Works on pulses from 2-3 microseconds
 * to 3 minutes in length, but must be called at least a few dozen microseconds
 * before the start of the pulse.
 *
 * This function performs better with short pulses in noInterrupt() context
 */
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout)
{
	// cache the port and bit of the pin in order to speed up the
	// pulse width measuring loop and achieve finer resolution.  calling
	// digitalRead() instead yields much coarser resolution.
	uint8_t bit = digitalPinToBitMask(pin);
	uint8_t port = digitalPinToPort(pin);
	uint8_t stateMask = (state ? bit : 0);

	// convert the timeout from microseconds to a number of times through
	// the initial loop; it takes approximately 16 clock cycles per iteration
	unsigned long maxloops = microsecondsToClockCycles(timeout)/16;

	unsigned long width = countPulseASM(portInputRegister(port), bit, stateMask, maxloops);

	// prevent clockCyclesToMicroseconds to return bogus values if countPulseASM timed out
	if (width)
		return clockCyclesToMicroseconds(width * 16 + 16);
	else
		return 0;
}
Второй способ - отслеживание изменения состояния вывода через механизм внешних прерываний. Я предлагаю попробовать оба варианта и сравнить их. Предложите алгоритм?
cogen вне форума  
 

Метки
ардуино, система реального времени, циклы
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RFID на Arduino с использованием Parallax RFID reader/writer IvanPuzirev Микроконтроллеры, АЦП, память и т.д 13 22.04.2014 20:57
Проблема с Arduino Motor Shield domka Песочница (вопросы новичков) 6 29.07.2013 11:56


Часовой пояс GMT +4, время: 14:12.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.