Желательно ли придерживаться Arduino IDE?

24

Лучше перейти в студию AVR (или любую другую лучшую альтернативу?) Через Arduino IDE. Чувствую, что это так просто и по-детски. Мне нужно знать идею и выбор экспертов ..

Анубис
источник
1
Почему бы вам просто не попробовать AVR studio? Только вы можете решить, соответствует ли это вашим потребностям и что для вас быстрее и проще .
PetPaulsen
3
@PetPaulsen да, я знаю, что это лучший способ. Я сделаю это в ближайшее время (вероятно, завтра). Но просто хотел узнать, как это видят другие. Таким образом, вы можете узнать намного больше вещей ...
Анубис
Arduino Visual Studio Pro плагин был недавно обновлен для поддержки Atmel Studio , 6.1 . Установка занимает менее 10 минут, любой эскиз Arduino можно открыть, отредактировать, скомпилировать, загрузить + множество других функций, таких как последовательные мониторы, обозреватель примеров и дополнительный отладчик USB Arduino
Visual Micro

Ответы:

19

Огромным преимуществом использования, например, AVR Studio является возможность использовать все библиотеки, созданные для ATmega168 / 328 до рассвета Arduino. Библиотеки FFT, библиотеки для использования приобретенных вами неизвестных микросхем, элементарные цифровые фильтры и многое другое можно найти на AVRfreaks и сотнях других хобби-сайтов.

Вы также можете написать более эффективный код, если вы научитесь использовать стандартные библиотеки AVR и изучите таблицу данных (или учебные пособия) микроконтроллера. Для простых приложений код arduino легко писать и отлаживать. Однако иногда вы хотите контролировать время более эффективно. AnalogRead()требуется 100 мкс для выполнения. Это соответствует 10KPS (тысячи образцов в секунду). Вы можете легко увеличить это до 70 кбит / с, если получите доступ к низкоуровневому коду для ATmega168 / 328. Конечно, вы можете делать все это в Arduino IDE, но в какой-то момент ваши проекты могут стать слишком сложными, и вы захотите написать свои собственные библиотеки с более быстрыми функциями. AVR Studio может быть более подходящим для этого.

Кроме того, если вы когда-нибудь захотите запрограммировать какой-либо чип AVR, кроме предлагаемого Arduino, вам понадобится программатор и другая IDE. Небольшие проекты, которые используют 1 КБ кода, могут быть выполнены на ATtiny. Вы можете купить дюжину из них по цене одного ATmega328. Эти чипы дешевы и обладают большинством возможностей Arduino: I2C, SPI, ADC. Вы даже можете найти библиотеки, которые добавляют интерфейс HID USB! Нет серийных драйверов или что-нибудь!

Лично я сначала пишу код в IDE Arduino, без оптимизации кода. Если он работает, этот код можно легко транскрибировать в стандартные библиотеки C ++ и сделать его более эффективным.

Джонни Б Хорошо
источник
26

Это просто, потому что это должно быть доступно каждому , и это работает: каждый и его младшая сестра могут программировать Arduino.

Если вы чувствуете, что можете справиться с чем-то более похожим на настоящее программирование, я бы, конечно, сделал это. Вы должны будете написать больше кода, но также будете иметь больший контроль. Важный момент: Arduino библиотека ужасно неэффективен: такие функции , как DigitalWriteи DigitalReadможет быть до 50 раз быстрее .

stevenvh
источник
Ничего себе, не понял , что это было , что неэффективно. Я знал, что были накладные расходы, но ... вау.
Полином
2
Спасибо за новости о DigitalRead/Write. Никогда не знал, что ..
Анубис
7
@Anubis - я открыл для себя JeeLabs только недавно. У них один из лучших блогов, которые я когда-либо видел. Определенно рекомендуется к прочтению.
Стивенв
2
Некоторое время назад был вопрос об ускорении цифрового ввода-вывода Arduino: electronics.stackexchange.com/questions/22585/…
Jon L
12

Большинство ответов было сосредоточено на использовании платы Arduino в качестве стандартной платы AVR. Но вы также можете использовать более продвинутую IDE и при этом пользоваться простотой кодирования Arduino и встроенными библиотеками (наряду с упомянутыми выше недостатками). EngBlaze только что обучил этому: Учебник: Использование Atmel Studio 6 с проектами Arduino

ViennaMike
источник
3

IDE Arduino меняет эффективность кода на удобство и скорость разработки для небольших проектов. Поскольку у экспертов тоже есть сроки , вполне допустимо использовать IDE Arduino для быстрой проверки концепции или для помощи в отладке другого проекта.

Если вы хотите специализироваться на разработке встроенного программного обеспечения, вы должны иметь возможность использовать более мощные инструменты разработки, такие как AVR Studio или avr-gcc и предпочитаемую IDE.

Выход за рамки овладения инструментами разработки, изучение внутренней работы микроконтроллера и знание некоторой сборки определенно является плюсом, если вы собираетесь работать на системах с небольшим объемом памяти и / или низкими требованиями к энергопотреблению и / или высокой производительностью.

Сильвен
источник
Спасибо за подробный ответ, я предпочитаю это. Я, конечно, согласен с этим, особенно с последним пунктом. Хотя я новичок в процессорах Atmel, я знаю немного больше о внутренней организации PIC и не могу soусложнять коды сборки. Хотя это кажется немного сложным, вы можете узнать, как ведет себя микроконтроллер. Я думаю, что многие найдут этот ответ полезным. Надеюсь, вы получите больше голосов,: D .. (а это ваш первый ответ, а?).
Анубис
2
В настоящее время едва ли существует какая-либо ситуация, когда беглость в сборке (возможность кодировать, не заглядывая постоянно в документацию) вообще пригодится. Освоение вашего компилятора , знание его изломов и хороших опций гораздо полезнее. Удачи.
Сильвен