Желательно ли придерживаться 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 раз быстрее .


Ничего себе, не понял , что это было , что неэффективно. Я знал, что были накладные расходы, но ... вау.
— Полином

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


3

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

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

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


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

2
В настоящее время едва ли существует какая-либо ситуация, когда беглость в сборке (возможность кодировать, не заглядывая постоянно в документацию) вообще пригодится. Освоение вашего компилятора , знание его изломов и хороших опций гораздо полезнее. Удачи.
— Сильвен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.