Компиляция во время выполнения
Я хочу скомпилировать скетч на Arduino Uno, пока Arduino работает и не подключен ни к чему другому, а затем автоматически запустить скомпилированный скетч.
Возможно ли это?
Как?
@user65440, 👍1
Обсуждение2 ответа
Нет. Это невозможно.
Uno не может скомпилироваться. Uno не может запускать код из оперативной памяти. Uno — это не компьютер.
Вы можете найти какой-нибудь небольшой язык сценариев, который мог бы работать на Uno, но TBH, Uno настолько слаб, что вы могли бы сделать немного больше, чем моргнуть светодиодом...
Конечно это компьютер. Это просто компьютер с ограниченными функциями. Как однофункциональный микроконтроллер, он идеально подходит для множества целей, а не только для мигания светодиодов., @Dougie
Это может быть вычислительное устройство, но это не «компьютер» — как в той большой коробке на вашем столе с экраном и клавиатурой., @Majenko
@Dougie и «немного больше, чем мигание светодиода» в контексте попытки использовать язык сценариев. Знаешь, тебе действительно стоит научиться читать *ответ целиком*, а не просто выделять отдельные короткие фразы и ковыряться в них, как полный педант *****., @Majenko
Нет, невозможно, невозможно.
Ардуино запускает машинный код, и ему не хватает места или вычислительной мощности для компилятора (также по понятным причинам просто нет версии компилятора avr C++ для платформы AVR). Также он внутренне зашит для запуска кода из флэш-памяти. Вы не можете выполнять код из оперативной памяти. Arduino — это микроконтроллер, а не компьютер. (Здесь я имею в виду компьютер как что-то вроде: имеет микропроцессор для выполнения кода из ОЗУ; имеет ОС; имеет огромное количество ресурсов по сравнению со средним микроконтроллером)
Также: "не подключен ни к чему другому" --> Тогда как бы вы взаимодействовали с Arduino, писали код, запускали компиляцию?
Если речь идет о кабельном соединении, вы можете реализовать программирование через bluetooth через модуль HC-05 (погуглите, там должно быть много руководств). Или откажитесь от Arduino и перейдите на ESP, чтобы вы могли выполнять обновления по воздуху (OTA) через Wi-Fi.
Или вы можете перейти на мини-компьютер, такой как Raspberry Pi Zero, который немного больше, чем Arduino Nano, и меньше, чем Uno. (Хотя это вряд ли зависит от цели, которую вы пытаетесь достичь. Микроконтроллеры иногда лучше использовать для конкретных задач, в отличие от миникомпьютеров)
- Использование Arduino в качестве автономного компилятора
- Существует ли компилятор с открытым исходным кодом для кодов Arduino Sketch?
- Есть ли какой-нибудь способ загрузить скетч с ардуино?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Как компилировать, загружать и контролировать через командную строку Linux?
- Асинхронные вызовы функций в скетче ардуино
- Предупреждение при проверке скетча с кодом VS
- Компиляция идет медленно
может да, погуглите
arduino forth
.... вот один из результатов поиска https://arduino-forth.com/, @jsotolaХотя ответ отрицательный, предложение jsotola может быть обходным путем. Форт является интерпретируемым языком. Python был бы еще одним вариантом., @Duncan C