Найти в Дзене
Будни инженера

Первая программа в AVRPascal для Ардуино

Сегодня постараюсь сдержать давно данное обещание показать, как создавать программы для Ардуино в среде AVRPascal. И хотя некоторые очень пренебрежительно и даже презрительно относятся к Ардуино, я к таким не принадлежу. Это очень достойная вещь, которая уверенно заняла свою нишу где-то между ПЛК и микроконтроллерами. Ардуино - это прекрасная возможность автоматизировать, например, свой дом, за небольшие деньги. Но перейдём к созданию первой программы. Именно программы, а не устройства. Потому что никакое устройство создавать не придётся - таким устройством для первого знакомства является Ардуино и встроенный в его плату светодиод, которым мы будем мигать. Запускаем AVRPascal и выбираем FILE - NEW: Откроется окно, где надо выбрать вид нового файла, который мы будем создавать: Выбираем Program Source (исходник программы) и нажимаем ОК. Открывается новая вкладка, где уже будет какой-то исходный код: Файл надо куда-нибудь сохранить. Но компилировать не торопитесь. Сначала надо настроить ц

Сегодня постараюсь сдержать давно данное обещание показать, как создавать программы для Ардуино в среде AVRPascal. И хотя некоторые очень пренебрежительно и даже презрительно относятся к Ардуино, я к таким не принадлежу. Это очень достойная вещь, которая уверенно заняла свою нишу где-то между ПЛК и микроконтроллерами. Ардуино - это прекрасная возможность автоматизировать, например, свой дом, за небольшие деньги.

Но перейдём к созданию первой программы. Именно программы, а не устройства. Потому что никакое устройство создавать не придётся - таким устройством для первого знакомства является Ардуино и встроенный в его плату светодиод, которым мы будем мигать.

Запускаем AVRPascal и выбираем FILE - NEW:

Откроется окно, где надо выбрать вид нового файла, который мы будем создавать:

-2

Выбираем Program Source (исходник программы) и нажимаем ОК.

Открывается новая вкладка, где уже будет какой-то исходный код:

-3

Файл надо куда-нибудь сохранить. Но компилировать не торопитесь. Сначала надо настроить целевое устройство. Для этого выбираем в меню VIEW - OPTIONS:

-4

В нашем случае мы пишем программу для Ардуино Уно:

-5

Поэтому выбираем ARDUINOUNO на вкладке COMPILER. И не забудьте поставить галочку Define Clock Frequency (F_CPU), иначе программа не скомпилируется (или вам придётся вручную определять эту константу).

Теперь сама программа. У меня она такая:

-6

Комментарии подробные. Поэтому очень кратко расскажу только о функциях:

  • PinMode. Определена в модуле digital. Устанавливает режим выводов платы Ардуино. OUTPUT - контакт работает как выход, INPUT - как вход, INPUT_PULLUP - как вход с подтягивающим резистором. В нашем случае контакт 13 мы включаем в режим дискретного вывода (работает как выход).
  • DigitalWrite. Определена в модуле digital. Устанавливает состояние указанного вывода. LOW - низкий уровень, HIGH - высокий уровень.
  • Delay. Определена в модуле timer. Задержка выполнения программы на указанное количество миллисекунд.

Константы определены в модуле defs.

Все функции имеют точно такие же имена, как и в стандартной среде разработки для Ардуино. Отличие только одно - в AVRPascal имена функций не чувствительны к регистру, поскольку для программирования используется Паскаль, а не С++.

Теперь надо скомпилировать программу. Делается это комбинацией клавиш CTRL + F9 или через меню RUN - COMPILE. Также не помешает собрать программу (SHIFT + F9 или RUN - BUILD ALL).

Если компиляция прошла без ошибок (а если вы всё сделали в точности как я сказал, то так и должно быть), то программу можно залить в плату Ардуино, чтобы проверить её работу. Для этого подключаем Ардуино к компьютеру, и выбираем команду RUN - UPLOAD или нажмем клавишу F9.

-7

Появится окно, где надо выбрать порт, через который Ардуино подключен к компьютеру, и нажать кнопку ОК.

-8

Программа загрузится довольно быстро, при этом светодиод на плате Ардуино будет быстро мигать, отображая процесс обмена данными. Когда программа загрузится, то она сразу же начнёт выполняться, и мы увидим мигание светодиода с заданным интервалом.

Посмотреть видео с моим первым опытом можно здесь.

Ну и напоследок скажу, какие файлы вы увидите в папке с вашим проектом:

-9

Файл с расширением .PAS - это исходный код вашей программы на Паскале. И это единственный файл, который вы создаёте сами. Остальные создаются автоматически.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить…