Муфты электромонтажные от производителя Fucon

Обсуждение: Почему не стоит использовать Arduino для обучения программированию

Специалист
 
Аватар для Robot Rlocman
 
Регистрация: 24.11.2007
Сообщений: 2,532
Репутация: 260
251 0
14 0
 
27.08.2018 11:16 #1
Цитата:
Журнал РАДИОЛОЦМАН, май 2018 Hack van de dam Я бы мог начать статью словами «Почему Arduino – отстой» или «Почему Arduino – барахло», что привлекло бы огромный трафик к странице в Интернете. Но я не сделал этого, потому что это просто неправда.
Подробнее: Почему не стоит использовать Arduino для обучения программированию
Оценка
В многообразии литиевых батареек и аккумуляторов нет какого-то универсального или идеального варианта. Выбирая тот или иной вариант для питания устройства, разработчику приходится оперировать множеством параметров, используя наиболее оптимальное их сочетание для каждого приложения. Разберем параметры для различных приложений.
Новичок
 
Регистрация: 04.11.2008
Сообщений: 438
Репутация: 37
27 9
0 0
 
27.08.2018 11:16 #2
"Единственный, на мой взгляд, недостаток mbed – отсутствие возможности отладки с использованием точек останова и наблюдения."

Здесь автор глубоко заблуждается, Eclipse + обвязка в виде GNU ARM Tools + "mbed export" отлично все решают, позволяя выполнить полноценную отладку
Оценка
Специалист
 
Аватар для antonydublin
 
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
372 0
3 0
 
27.08.2018 19:32 #3
AkaU, эта заметка была написана более 5ти лет назад. На mbed.org и github хранится история релизов начиная с 5.1.0. А всё, что было пять лет назад и больше - это летопись по меркам роста возможностей софта. Так что, быть может, автор и не ошибался в 2013м году.
Оценка
Специалист
 
Регистрация: 20.04.2011
Адрес: Казахстан г.Алматы
Сообщений: 1,225
Репутация: 256
245 269
22 18
 
28.08.2018 08:27 #4
"Бесплатный" софт Arduino только для начинающих.
Подробно от первых рук

http://tim4dev.com/2016/07/arduino-a...-disadvatages/
"...Преимущества Ардуино
Готовность к использованию (Ready to Use) — является самым большим плюсом Arduino. Вы уже имеете «на борту» регулятор питания, микроконтроллер, программатор, интерфейсы для подключения устройств, и программные библиотеки. Вы не должны думать о программировании микроконтроллера или способах подключения периферии. Вы не должны изучать регистры микроконтроллера, диаграммы, блок-схемы и набор инструкций. Вы просто подключаете Arduino к USB порту ПК и делаете революцию в мире «интернет вещей»..."

Из ссылки - https://www.rlocman.ru/review/article.html?di=138878
"...Минусы Arduino (Что ужасно):

Arduino IDE – это самый худший и самый непригодный редактор кода после «Блокнота». В один день вы переключитесь на достойный внешний редактор, однако вам все равно придется оставить открытой Arduino IDE для программирования устройства;

Загрузчик Arduino. Для того, чтобы завершить какое-либо Arduino-устройство, вам придется вручную запрограммировать загрузчик в каждый «чистый» микроконтроллер ATmega. Это уменьшает доступный объем Flash-памяти программ на 2 КБайта;

Всего несколько вариантов: если вы будете использовать официальные платы Arduino, то выбрать вы сможете только из вариантов с 30 Кбайт или 254 КБайт встроенной памяти программ. Что будет, если ваш код занимает, скажем 42 КБайта? Единственный выбор – использование клона Sanguino, который не полностью совместим с Arduino;

Нет простого способа изменить тактовую частоту, не так ли? Модель микроконтроллера с питанием 3.3 В и тактовой частотой 8 МГц может безопасно работать на частоте 12 МГц;

Функция digitalWrite() выполняется за 56 циклов (хотя автором был получен результат в 400 циклов). По крайней мере, это легко выяснить и перейти к использованию прямого доступа к портам (второй элемент для изменения, после Arduino IDE). Как правило, Arduino не очень удобна для написания эффективного кода;

Вы не сможете (по крайней мере, просто) отключить библиотеку последовательной коммуникации, используемую по умолчанию, чтобы использовать TX и RX прерывания, независимо от того, была она запущена, или нет;

Подпрограмма обслуживания прерывания по переполнению таймера запускается через каждые 16000 циклов в фоновом режиме. Это сделано для работы функций millis() и micros(), даже когда они не используются;

Пустой Arduino проект для платформы Arduino UNO занимает 466 Байт и 666 Байт для Arduino Mega2560. Дополнительное расходование ресурсов не устраивает многих, в том числе и автора статьи. Также неприятно видеть ошибки компиляции проекта, связанные с вышеописанными изменениями;

Последнее, но не менее важное – среда разработки Arduino, без сомнения, «скрывает» важные аспекты архитектуры микроконтроллера: регистры, прерывания и таймеры. Их знание просто необходимо..."

Из сказанного можно сделать следующий вывод - "Новизна" Arduino состоит в "простоте" использования, но взамен "программист" не может контролировать и использовать ресурсы микроконтроллера.
Следовательно, на платах Arduino разработать приличную программу для профессионального применения невозможно...
Оценка
Специалист
 
Регистрация: 21.05.2007
Адрес: Москва
Сообщений: 475
Репутация: 212
174 59
14 2
 
28.08.2018 20:14 #5
Цитата:
Сообщение от SVNKz
Следовательно, на платах Arduino разработать приличную программу для профессионального применения невозможно...
Совершенно согласен. От Arduino проектов веет игрушечностью. Полив цветов, который можно обеспечить и простейшим таймером на логике; управление роботизированной рукой, которая вообще не имеет практического применения.

Единственный известный мне серьёзный проект на Arduino - это устройство управления 3D принтером, например https://www.repetier.com/firmware/v092/index.php.

Но он противоречит концепции Arduino. Это не скетч, а хорошо структурированный проект, с заголовочными файлами, разбиением на классы и модули. Совместимость с Arduino формальная, компилируется в Arduino IDE. HAL собственный, Arduino библиотеки не использует.
Оценка
Новичок
 
Аватар для BOB51
 
Регистрация: 25.11.2008
Адрес: ДОНЕЦК
Сообщений: 313
Репутация: 58
48 13
0 0
 
30.08.2018 09:51 #6
Ардуино не является частью элементной базы типа МИКРОКОНТРОЛЛЕР. Это некоторый элемент вида "черный ящик" с собственной аппаратной начинкой и минимальными "добавками" для обеспечения функционирования инструментов (дополнительных расширенных функций) IDE.
Тут управление на уровне регистров и ассемблера неуместно - его заменяет вариант языка высокого уровня. В противном случае придется детально изучать не только сам МК, установленный на платке, но и особенности построения IDE "на глубоком уровне" что явно не одно и то же по сравнению с изучением "чистого МК".
При том, что не отменяются и возможности более подготовленных специалистов "покопаться поглубже".
Просто необходимо принять концепцию работы с "черным ящиком" в пределах предоставляемого производителем IDE референс-описания
предоставляемых той IDE средств (https://www.arduino.cc/reference/en/).
А кому охота непосредственно с МК работать - берем ассемблер.
Далее можно и Си.
Точно так же на сегодня вряд-ли кто из большинства пользователей-разработчиков простейшего ПО для компьютеров будет писать что-то под ассемблером, минуя не только операционную систему но и биос - работая напрямую с железом материнки и прочей начинкой.
...
Исходя из вышеизложенного...
Действительно ардуинка по классу ближе к простейшим компьютерам и/или системе-на-кристалле, чем к классическим "истинным микроконтроллерам". По сему и начинать с нее для желающих в дальнейшем работать с "чистым железом" вида МК не слишком удобно.
Скорее наоборот - выгодно использовать подобные ардуино устройства как мост между прикладными МК класса "периферия с мозгами" и полноценными компьютерами и/или сложными сетевыми системами обработки стандартизированных потоков данных.
Оценка
Ответ
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

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

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 02:17.
Обратная связь РадиоЛоцман Вверх