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