Чи доцільно дотримуватися Arduino IDE?


24

Чи краще перейти до студії AVR (чи будь-якої іншої кращої альтернативи?) Через ID Arduino IDE. Відчуйте, що це так просто і по-дитячому. Мені потрібно знати ідею та вибір експертів.


1
Чому ви просто не даєте AVR-студії спробувати? Тільки ви можете вирішити , чи підходить вона вашим потребам і що швидше / простіше для вас .
PetPaulsen

3
@PetPaulsen так, я знаю, що це найкращий спосіб. Я зроблю це незабаром (напевно, завтра). Але просто хотілося знати, як це бачать інші. Ти можеш навчитися багато іншого також і таким чином ..
Анубіс

Arduino Visual Studio Pro плагін був недавно оновлений для підтримки Atmel Studio , 6.1 . Установка займає менше 10 хвилин, будь-який ескіз Arduino можна відкрити, редагувати, компілювати, завантажувати + багато інших функцій, таких як серійні монітори, приклади провідника та необов'язковий відладчик Arduino USB
Visual Micro

Відповіді:


19

Величезною перевагою використання, наприклад, AVR Studio, є можливість використовувати всі бібліотеки, створені для ATmega168 / 328 до світанку Ардуїно. Бібліотеки FFT, бібліотеки для використання придбаних вами неясних ІС, рудиментарні цифрові фільтри та багато іншого можна знайти на AVRfreaks та сотнях інших сайтів хобі.

Ви також можете написати більш ефективний код, якщо навчитеся використовувати стандартні бібліотеки AVR та вивчаєте таблицю даних (або підручники) мікроконтролера. Для простих програм ардуїно-код легко писати та налагоджувати. Однак іноді хочеться контролювати терміни ефективніше. AnalogRead()для виконання потрібно 100 мкс. Це відповідає 10ksps (тисячі зразків в секунду). Ви можете легко накачати це до 70ksps, якщо ви отримаєте доступ до коду низького рівня для ATmega168 / 328. Зрозуміло, ви можете зробити все це в IDE Arduino, але в якийсь момент ваші проекти можуть стати занадто складними, і ви хочете написати власні бібліотеки з більш швидкими функціями. AVR Studio може бути більш підходящим для цього.

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

Особисто я спершу пишу код в IDE Arduino, без оптимізації коду. Якщо він працює, цей код можна легко переписати в стандартні бібліотеки C ++ і зробити його більш ефективним.


26

Це просто, тому що він повинен бути доступним для всіх , і це працює: всі та його маленька сестра можуть програмувати Arduino.

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


Нічого собі, не зрозумів , що це було , що неефективно. Я знав, що є накладні витрати, але ... ух.
Поліном

2
Дякуємо за новини про DigitalRead/Write. Ніколи цього не знав ..
Анубіс

7
@Anubis - я відкрив для себе JeeLabs лише нещодавно. У них є один з найкращих блогів, які я коли-небудь бачив. Однозначно рекомендується читати.
stevenvh

2
Нещодавно виникло питання щодо прискорення цифрового вводу-виводу Arduino: electronics.stackexchange.com/questions/22585/…
Jon L

12

Більшість відповідей були зосереджені на використанні плати Arduino як стандартної дошки AVR. Але ви також можете використовувати більш вдосконалений IDE і все-таки скористатися простотою кодування Arduino та вбудованими бібліотеками (поряд із недоліками, згаданими вище). EngBlaze щойно зробив підручник з цього приводу: Підручник: Використання Atmel Studio 6 з проектами Arduino


3

Arduino IDE торгує ефективністю коду для зручності та швидкості розробки для малих проектів. Оскільки експерти також мають строки , цілком прийнятно використовувати ID Arduino для швидкого підтвердження концепції або для налагодження іншого проекту.

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

Вихід за межі засвоєння інструментів розробки, вивчення внутрішніх функцій мікроконтролера та знання деяких складання, безумовно, є плюсом, якщо ви маєте намір працювати над системами з невеликою пам’яттю та / або низькими потребами в потужності та / або високою продуктивністю.


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

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