Магазин у відпустці 23.05 - 28.05. Всі замовлення будуть оброблені в понеділок

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Ультразвуковий датчик відстані HC-SR04

Ультразвуковий датчик відстані HC-SR04

Напруга живлення 5 ВРобочий кут відбитої хвилі не більше 15 градусівДіапазон вимірюваних відстаней 2..

43.16грн.

Символьний індикатор LCD 2004

Символьний індикатор LCD 2004

Чотирьохрядковий символьний рідкокристалічний індикатор з блакитною підсвіткою LCD2004.Напруга живле..

140.36грн.

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

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

Використовується для передачі та редукції обертаючого моменту від двигунаКількість зубців 20 шт.Діам..

22.44грн.

CNC шилд для Arduino NANO

CNC шилд для Arduino NANO

Шилд під Arduino NANO для керування 3D-принтером або CNC-верстатом.На шилді передбачені три ділянки ..

219.45грн.

Радіомодуль NRF24L01 smd

Радіомодуль NRF24L01 smd

Економний модуль радіо-передавача, -приймача 2,4 ... 2,5 ГГц для бездротового зв'язку між контролера..

13.42грн.

Нове

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

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

Модуль призначений для комутації 4-х навантажень зі змінною напругою живлення 75 ... 264 ВМаксимальн..

Оптопара EL817 SMD

Оптопара EL817 SMD

Оптопара з транзистором на виходіЗастосовується для гальванічної розв'язки дискретного сигналу, а та..

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

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

Мікросхема стабілізатор напруги L78S05CVЗастосовується для стабілізації пульсуючої напруги в блоках ..

Програматор 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 шт.Діам..

Термінальний роз'ємний конектор кутовий 3д

Термінальний роз'ємний конектор кутовий 3д

Роз'ємний трьохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з..

Термінальний роз'ємний конектор кутовий 2д3.81mm

Термінальний роз'ємний конектор кутовий 2д3.81mm

Роз'ємний двохдротовий конектор для пайки на друковану платуДроти підводяться паралельно платі та з'..

Мікроконтролер ATTINY13A

Мікроконтролер ATTINY13A

Мініатюрний економічний AVR 8-бітний мікроконтролер, який можна програмувати як програматором, так і..

Логічний аналізатор 8 каналів

Логічний аналізатор 8 каналів

Надписи на корпусі можуть відрізнятись від наведених на картинці, але сутність приладу незмінна.Цифр..

Лінійний підшипник 8мм

Лінійний підшипник 8мм

Підшипник для лінійного ковзання робочого органу 3D-принтера або CNC за своїми осями.Одягається на ц..

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для зубчатого ременя GT2 без зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 ммЗастосовується у 3D-принтерах та CNCШири..

Підшипник для зубчатого ременя GT2 20 зубів

Підшипник для зубчатого ременя GT2 20 зубів

Підшипник для натяжки зубчатого ременя GT2 6 мм на вісь 5 мм20 зубцівШирина 10 мм..