Программирование Arduino в Паскале?

Мой вопрос прост: есть ли язык программирования Pascal или Pascal-класса (FPC, Delphi, mikroPascal) для Arduino?

Желательно (надеюсь, я не прошу слишком много), что язык не должен быть старше 10 лет.


Обновление:
Давайте не начнем пламенную войну «почему язык программирования xxx намного лучше Pascal» и сосредоточьтесь на ядре этого вопроса. Я знаю, что у Паскаля есть недостатки (ничего не идеального, правда?). Я принимаю их, и я все еще хочу его использовать :)
Большое спасибо.

0
Поскольку обычная среда Arduino основана на C ++, вам лучше всего искать в «Pascal for AVR», который используется микроконтроллером, и похоже, что есть несколько вариантов.
добавлено автор Assaf Lavie, источник

3 ответы

Не Паскаль, а Ada, который гораздо менее ограничительный, чем Pascal, пользуясь теми же преимуществами по сравнению с низкоуровневым программированием и гораздо более активно поддерживаемый языковыми версиями еще в 2012 году и формально доказуемым языком SPARK, когда вам нужен ваш код для Работа.

Любой процессор, поддерживающий gcc, может потенциально поддерживать Ada, компилятор Gnat которого полностью входит в состав gcc.

Это не вся история, потому что вам также нужна поддержка системы времени исполнения для устройств Ada, но для AVR-процессора Arduino существует хорошо установленная среда в виде Проект AVR-Ada .

Он генерирует неплохие небольшие исполняемые файлы, вы будете поражены тем, насколько меньше простых простых исполняемых файлов Gnat по сравнению с Arduino - если вы уже не сделали то же самое сравнение между Arduino и C ..., которые все-таки используют один и тот же gcc-компилятор.

Для Arduinos на ARM (по крайней мере, Arduino Due) возможно то же самое, но поддержка новее и, возможно, менее хорошо установлена, см. проект Cortex-GNAT .

Выйдя из Arduino, Ada также была продемонстрирована на процессоре MSP430 - мой собственный проект, к сожалению, в данный момент пренебрег ,

5
добавлено
Прочтите свой вопрос. Вы СПЕЦИАЛЬНО спрашивали о «... или языках, подобных Паскалю». Как удивительно может быть Ада? лучший способ узнать - это учиться. Вы можете использовать подмножество Pascal и игнорировать расширенные функции, если хотите; некоторые из них не подходят для MCU в любом случае. И re: языковые версии, последним стандартом для Pascal, по-видимому, является ISO7185: 1990, возможно, вы смешиваете версии компилятора с языковыми стандартами? Конечно, Gnat обновляется гораздо чаще, чем сам язык.
добавлено автор brenth, источник
Я в порядке с вами, не «принимаю» его, кстати. Один или два комментария указывают на возможную альтернативу: если вы будете следить, и они окажутся полезными, вы всегда можете добавить свой собственный ответ. В качестве альтернативы раньше для gcc использовался какой-то фронт Pa. Поэтому, если вы серьезно относитесь к Pascal, почему бы не попытаться создать это для резервного AVR, и в этом случае проект AVR-Ada (среда выполнения) и моя документация MSP430-Ada могут предоставить полезные подсказки о некоторых шагах на этом пути , (Работа над gcc не тривиальна!) Удачи ...
добавлено автор brenth, источник
@ Кенни, я слышу вас от устаревшей критики Паскаля. Ада страдает от такого же иррационального нежелания рассматривать это, и это затрагивало меня в течение многих лет. Я начал программировать на первом большом языке Вирта (Algol-W), также использовал Turbo Pascal (фантастический для своей эры), затем его третий (Modula-2 - большой, но с его пределами). Тогда C и C ++ в течение десятилетия или около того благодаря их коммерческой неизбежности, несмотря на их дизайнерские безумие. Ища более подходящую альтернативу, попробовал Ада (ранее не был). После C ++ чувствовалось скорее как исцеление, чем обучение. Не рекомендация, просто рассказ о путешествии.
добавлено автор brenth, источник
Пояснения: 1. Я говорю о производных Паскаля (mikroPascal, FPC, Delphi и т. Д.). 2. Я говорю о «вещи», которую вы устанавливаете и используете на своем компьютере, а не о ISO. Когда я сделаю программу для Arduino, я буду использовать реальную часть программного обеспечения (надеюсь, Pascal), а не ISO.
добавлено автор user19209, источник
Во всяком случае, пока кто-то не представит другой ответ (если вообще когда-либо), Ада действительно самая близкая вещь для Паскаля. Я согласен с вашим ответом, не будет лучшей альтернативы. Спасибо, в любом случае. Upvoted.
добавлено автор user19209, источник
@ BrianDrummond. Хорошо, я попробую. Я ищу, чтобы купить мой совет Arduino.
добавлено автор user19209, источник

A интерфейс Pascal в коллекцию компиляторов Gnu (gcc, на которой почти все программы AVR основаны) уже существует. Поэтому компилятор Pascal для AVR существует в принципе, если не на самом деле (и я не знаю, что это не так). Я бы начал с общения с людьми, работающими на GPC, чтобы узнать, что уже сделано.

1
добавлено

Можно ли запрограммировать Arduino в Pascal?

Ответ и да и нет. Ответ да, потому что можно поместить виртуальную машину p-code в Arduino и скомпилируйте для этого.

Ответ - нет, если продлить вопрос с помощью «есть ли поддерживаемая версия Arduino/AVR IDE с открытым исходным кодом для Pascal?»

Есть несколько коммерческих продуктов AVR/Pascal. Вы можете легко искать их в Интернете.

Наконец, возможно короткое сокращение - использовать p2c , переводчик Pascal to C, процессор в среде Arduino. В сборке Arduino есть крючки для добавления дополнительных инструментов.

Ура!

1
добавлено
Спасибо @MikaelPatel. Честно говоря, я не против платить (до) 100 баксов за коммерческий инструмент Pascal. Я плачу на один порядок больше за свою лицензию на Delphi, поэтому 100 не так уж много. P2C кажется достойной альтернативой. Я буду рассматривать P2C по сравнению с Ada (как рекомендовал Брайан). Upvote (но я буду держать сообщение Брайана в ответе на данный момент). Еще раз спасибо.
добавлено автор user19209, источник
Анархическая электроника
Анархическая электроника
1 510 участник(ов)

[около] электронные темы. без переходов на личности, стен стикеров, политики, непрошенной рекламы и всякого такого Основной чат у нас в @ru_electronics Общий информационный канал @ru_electronics_feed

Про электронику
Про электронику
1 461 участник(ов)

QA чат для решения вопросов, связанных с электроникой. без стикеров, непрошенной рекламы и игр в русский форум оформляйте вопрос в одно сообщение вопросы со словом «кто» игнорируются don't ask for ask Правила http://telegra.ph/ru-electronics-rulz-11-11

Embedded Group
Embedded Group
873 участник(ов)

Все про Embedded и электронику. Осторожно, бывают нотификейшены. #вопросподелу - Для поиска вопросов и ответов #devtools - фотки рабочих железок Работа: @rabotaembedded http://embedded.group http://vk.com/embedded_space

Hardware & Radio
Hardware & Radio
155 участник(ов)

Разговоры об электронике, микроконтроллерах, низкоуровневом программировании, реверс-инжиниринге, FPGA, квадрокоптерах, 3D-печати, Software Defined Radio, любительском радио, и всяком таком.

ARDUINO [RU]
ARDUINO [RU]
60 участник(ов)

Обсуждение Электронного конструктора Arduino. Проблемы и их решения. Ссылки на интересные статьи и проекты. ВК: https://vk.com/arduino_esp Realtek: http://vk.com/rtl8711 Чаты: IOT https://t.me/ProIOT esp8266 https://t.me/Proesp8266