Чи можу я програмувати Arduino за допомогою будь-якої мови програмування, крім C ++? Якщо так, то які мови програмування? Яке програмне забезпечення мені знадобиться для компіляції та завантаження коду на Arduino?
Чи можу я програмувати Arduino за допомогою будь-якої мови програмування, крім C ++? Якщо так, то які мови програмування? Яке програмне забезпечення мені знадобиться для компіляції та завантаження коду на Arduino?
Відповіді:
Деякі загальновідомі:
Теоретично ви повинні мати можливість розширити avr-gcc для підтримки інших мов, хоча це не є малим завданням. Я хотів би також застереження , що підтримка інших мов , ніж C , як правило , поставляється з деякими досить вагомі обмеження на компоненти мови - наприклад, навіть з C ++ це НЕ рекомендується , щоб бути інстанцірованія нові об'єкти , як malloc
і free
дуже дорогі і в просторі пам'яті і циклів.
Крім використання Google, застосовуються наступні посилання. Натисніть тут.
Теоретично, будь-який компілятор, який виводить збірку AVR, може бути використаний (обмеження по модулю щодо розміру коду, використання оперативної пам’яті тощо).
Програми AVR існують як для LLVM, так і для GCC - тому теоретично з певними зусиллями більшість мов, які підтримуються LLVM та GCC передніми кінцями, можна було б скласти до AVR. Великим питанням буде підтримка бібліотеки тощо.
Не менш, ось пара дивних варіантів духу питання, а не його лист [1].
О, і ви могли б написати сирий АВР-збірку !
[1] - Я цього не намагався!
Оскільки avr-g ++ повинен підтримувати всі стандартні C / C ++ конструкції, можна кодувати вбудовану збірку. Більше інформації про це на форумі arduino.cc
Я здивований, що ніхто не згадував Асамблею AVR !
Збірка не часто вважається найцікавішим або навіть простим методом програмування, але, тим не менш, на всі 100% ардуїно ардуїно це можливо на 100%. Плати SAM, швидше за все, не працюватимуть з таким ароматом, але все ж можливо використовувати збірку у своєму програмуванні.
Всі дошки Arduino (на стадії публікації) підтримують програмування монтажу за допомогою Atmel Studio , SDK створений для фішок Atmel.
Збірка підтримується всіма пристроями Atmel і не потребує завантажувача для роботи, тому всі програми притаманні в режимі реального часу.
__asm__("Assembly code here")
працює над тим, щоб додати лінійну збірку до будь-якого ескізу. Однак для більшості програм це погана ідея, оскільки складно досягти незалежності платформи за допомогою цього методу.