Лучше перейти в студию AVR (или любую другую лучшую альтернативу?) Через Arduino IDE. Чувствую, что это так просто и по-детски. Мне нужно знать идею и выбор экспертов ..
Лучше перейти в студию AVR (или любую другую лучшую альтернативу?) Через Arduino IDE. Чувствую, что это так просто и по-детски. Мне нужно знать идею и выбор экспертов ..
Ответы:
Огромным преимуществом использования, например, 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 ++ и сделать его более эффективным.
Это просто, потому что это должно быть доступно каждому , и это работает: каждый и его младшая сестра могут программировать Arduino.
Если вы чувствуете, что можете справиться с чем-то более похожим на настоящее программирование, я бы, конечно, сделал это. Вы должны будете написать больше кода, но также будете иметь больший контроль. Важный момент: Arduino библиотека ужасно неэффективен: такие функции , как DigitalWrite
и DigitalRead
может быть до 50 раз быстрее .
DigitalRead/Write
. Никогда не знал, что ..
Большинство ответов было сосредоточено на использовании платы Arduino в качестве стандартной платы AVR. Но вы также можете использовать более продвинутую IDE и при этом пользоваться простотой кодирования Arduino и встроенными библиотеками (наряду с упомянутыми выше недостатками). EngBlaze только что обучил этому: Учебник: Использование Atmel Studio 6 с проектами Arduino
IDE Arduino меняет эффективность кода на удобство и скорость разработки для небольших проектов. Поскольку у экспертов тоже есть сроки , вполне допустимо использовать IDE Arduino для быстрой проверки концепции или для помощи в отладке другого проекта.
Если вы хотите специализироваться на разработке встроенного программного обеспечения, вы должны иметь возможность использовать более мощные инструменты разработки, такие как AVR Studio или avr-gcc и предпочитаемую IDE.
Выход за рамки овладения инструментами разработки, изучение внутренней работы микроконтроллера и знание некоторой сборки определенно является плюсом, если вы собираетесь работать на системах с небольшим объемом памяти и / или низкими требованиями к энергопотреблению и / или высокой производительностью.
so
усложнять коды сборки. Хотя это кажется немного сложным, вы можете узнать, как ведет себя микроконтроллер. Я думаю, что многие найдут этот ответ полезным. Надеюсь, вы получите больше голосов,: D .. (а это ваш первый ответ, а?).