Працюємо з 09:00 до 20:00 без вихідних

Компиляция программы Arduino

На этом уроке мы поговорим о компиляции программы в Arduino IDE: как компилировать, как загружать программу в контроллер, как отображаются ошибки компиляции, которые возможно будут у вас появляться на экране. Так вот насчёт компиляции кода. Если нужна компиляция программы, то есть кросс-компиляция вообще-то, можно выбрать проверку или загрузку. Для этого на панели управления предусмотрены две кнопки: Проверить, Загрузка. Так же их можно найти и в выпадающем меню. 

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

Что же происходит, когда вы инициируете компиляцию?


Обратите внимание на поле сообщений внизу окна приложения. Это поле сообщений предназначено для отображения статуса компиляции. Эти сообщения появляются после завершения компиляции, и показывают нам, что компиляция завершена или загрузка завершена или появление ошибок компиляции или загрузки. или показывает появление ошибок компиляции или загрузки в контроллер. В сообщениях об ошибках так же показывается номер строки текста программы, откуда пришла ошибка.

Так что, если в вашем коде есть ошибка, вам было бы полезно узнать, где именно. Таким образом этот инструмент помогает найти первоисточник ошибки.

Если вы взглянёте на следующую иллюстрацию, вы увидите подсвеченное сообщение об ошибке. Я тут показал три строчки кода. Я тут специально нашкодил в коде. Написал белиберду XX. Вы можете видеть, что строчка с белибердой подсвечена розовым. Так как эта строка содержит два символа XX для вызова ошибки,

поэтому и получили ошибку "не правильный синтаксис" (bad syntax). В результате компиляции, получаем ошибку. Сообщение о ней трудно не заметить. В окне сообщений выводится рапорт о нахождении ошибки. Там сказано, что компилятору не нравятся символы "XX". А так же подсвечивается строка текста программы, где была найдена ошибка. Так что вы можете быстро найти место ошибки в редакторе программы.

Строка с первой по счёту ошибкой в коде подсвечивается розовым цветом. Это очень удобно. Поиск ошибки производится подсвечиванием, а не по номеру строки, которую нужно искать в тексте программы. Увидев строку, подсвеченную розовым, находим первую ошибку в нашем коде.

Вобщем мы моментально попадаем в интересующеее нас место программы. А дальше уже ищем что же мы не правильно накодили в этой строке. Это предупреждение о имеющейся ошибке. Вы всегда будете знать, если есть ошибка строке. 

Так же может найтись ошибка и на других строках. На языке Си такое случается часто. Например если забывать ставить точку с запятой в конце операнда.

Запомните, что синтаксис этого языка подразумевает обозначение конца операнда при помощи точки с запятой. У нас тут ошибка в определённой строке. И мы на ней видим точку с запятой и затем символы XX. При этом компилятор для себя решает, что всё, что находится между двумя точками с запятой, - это один операнд. И для него XX - это должно быть следующей командой. И вот почему выскакивает ошибка, так как компилятор не знает команды XX.

Нужно быть внимательными. Если появляются ряд ошибок, они могут быть сгенерированы ошибочно как производные от одной. Для начала вам нужно обратить внимание именно на первую ошибку. Смотрите на первую ошибку, исправляете синтаксис и перекомпилируете программу. И некоторые массивы ошибок в результате могут исчезнуть одним махом.


Так вот насчёт монитора порта. 

Монитор порта представляет собой всплывающее окно. Вы вызываете его и оно выглядит вот так. У него есть основное информационное поле, а так же в ввверху поле для ввода текста.


Монитор порта - это одно из средств пользовательской коммуникации с платой Arduino. В главном информационном поле будут отображаться сообщения. Вы можете выводить информацию, для чего существуют специальные библиотеки функций, которые позволяют вам внедрять их в программу для вывода сообщений в этот монитор порта.

Так что, если у вас запущен монитор порта и у вас в программе контроллера предусмотрены функции serial.print, мы познакомимся с ними позже. Вы пишете функцию serial.print в своем коде, и она выведет текстовое сообщение в монитор порта. И таким образом можно своими глазами увидеть результат обработки вашей программы. Вы посылаете сообщения посредством программы в монитор порта и пользователь может это лицезреть. 

Так же интересно и то, что монитор порта может быть использован и в обратном направлении. Вы можете вводить текстовые сообщения. Взгляните на верхнюю часть окна, где находится поле ввода текста. Здесь можно вводить данные, после чего отправлять их при помощи кнопки Отправить. При этом данные будут отправлены в Arduino, и он их прочитает. 

Вы можете написать программу для выполнения каких-либо действий с этими данными. Так что монитор порта - это нечто похожее на клавиатуру и монитор, подсоединенные к Arduino. Вы можете запустить монитор порта, загрузить в контроллер программу, которая будет подключаться к нему для записи и чтения символьных данных.

Спасибо за внимание.

Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Двигатель с редуктором 10RPM 12В

Двигатель с редуктором 10RPM 12В

Двигатель постоянного тока с редуктором. При питании 12 В - скорость вращения оси 10 об./минСко..

209.50грн.

Дистанционное управление двумя лампочками

Дистанционное управление двумя лампочками

Дистанционный пульт управления двумя лампочками или другой нагрузкойРаботает на радиоволнах - можно ..

123.42грн.

3-осевой компас GY-271

3-осевой компас GY-271

Модуль GY-271 на микросхеме HMC5883L - это трехосевой цифровой магниторезистивный компас (магнитомет..

100.51грн.

NodeMcu WIFI контроллер

NodeMcu WIFI контроллер

Плата контроллера с беспроводной передачей данных. Имеет на борту модуль WIFI ESP8266 с ан..

158.33грн.

Модуль SD карты под RAMPS

Модуль SD карты под RAMPS

Специализированный модуль SD памяти для системы RAMS.Устанавливается на модуль RAMPS 1.3 для Arduino..

61.60грн.

Новое

Насос погружной 3 ... 6В 120л/ч

Насос погружной 3 ... 6В 120л/ч

Насос жидкостный погружного типа.Используется для полива домашних растений, для миниатюрных фонтанов..

Резистор подстроечный 1 кОм

Резистор подстроечный 1 кОм

Переменный резистор или потенциометр для установки на печатную плату. Сопротивление подстраивается п..

Прозрачная пленка А4 под принтер для изготовления печатных плат фоторезистом

Прозрачная пленка А4 под принтер для изготовления печатных плат фоторезистом

Пленка для нанесения рисунка дорожек на будущую печатную плату фоторезистивным методом.На пленке лаз..

Фильтрация шумов аналогового сигнала на Arduino

Фильтрация шумов аналогового сигнала на Arduino

Шум аналогового входаЛюбой аналоговый датчик, соединительные провода, да и сам аналоговый вход контр..

Штекер питания для Orange PI

Штекер питания для Orange PI

Разборный штекер для питания мини компьютеров Orange PI и Banana PIСодержит два вывода под пайку про..

Медный чулок для удаления припоя 2мм 1,5м

Медный чулок для удаления припоя 2мм 1,5м

Медная оплётка - применяется для залуживания дорожек печатной платы, а так же для удаления излишков ..

Модуль твердотельного реле 4-канальный

Модуль твердотельного реле 4-канальный

Модуль предназначен для коммутации нагрузок с переменным напряжением питания 75 ... 264 ВМаксимальны..

Оптопара EL817 SMD

Оптопара EL817 SMD

Оптопара с транзистором на выходеПрименяется для гальванической развязки дискретного сигнала, а так ..

Стабилизатор напряжения 5В 2А микросхема L78S05CV

Стабилизатор напряжения 5В 2А микросхема L78S05CV

Микросхема стабилизатор напряжения L78S05CVПрименяется для стабилизации пульсирующего напряжени..

Автоматическое реверсивное управление двигателем с ATtiny85

Автоматическое реверсивное управление двигателем с ATtiny85

Постановка задачи проекта Ставим задачу автоматически таскать двигателем постоянного тока полезный ..

Программатор AVR-контроллеров USBASP

Программатор AVR-контроллеров USBASP

Программатор для загрузки и отладки программ в микроконтроллеры компании ATMEL.Интерфейс програ..

Сдвиговый регистр 74HC595N

Сдвиговый регистр 74HC595N

Эту микросхему используют для управления светодиодными гирляндами и символьными индикаторами.Она поз..

Светодиод ультраяркий 3мм

Светодиод ультраяркий 3мм

Сверхяркий светодиод диаметром 3 ммКорпус прозрачный у светодиодов разного цвета свечения. То есть р..

Вентилятор для Orange PI толщиной 10мм

Вентилятор для Orange PI толщиной 10мм

Вентилятор для охлаждения процессора мини-компьютера Orange PI или Raspberry PIРаботает безшумноПита..

Терминальный разъемный коннектор угловой 4п

Терминальный разъемный коннектор угловой 4п

Разъемный 4-проводной коннектор для пайки на печатную платуПровода подводятся параллельно плате и со..

Шестерня для зубчатого ремня на 20 зубьев под ось 5 мм

Шестерня для зубчатого ремня на 20 зубьев под ось 5 мм

Используется для передачи и редукции крутящего момента от двигателяКоличество зубьев 20 шт.Диаметр о..