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

Определение констант

  • Чтобы определить константы, напишите:
  • #Define [имя] [значение]
  • Синтаксис #define позволяет программисту дать имя константе перед компиляцией программы, позволяя заменять любые ссылки на константу определенным значением во время работы программы.
  • Однако, хотя и удобно, но использование #define дает несколько вещей, на которые следует обратить внимание:
  • Во-первых, вы должны убедиться, что используете правильный синтаксис:
  • При написании #define constantName value »вы не можете разделять строку точкой с запятой (в отличие от других строк кода).
  • Во-вторых, вы должны быть осторожны, чтобы случайно не поставить «=» между constantName и определяемым значением.
  • В-третьих, объявление констант отличается от определения переменных (и объявления переменных, но мы обсудим это позже).
  • Запись const перед переменной в коде setup () или ранее приведет к изменению переменной в формате только для чтения, что означает, что ее значение не может быть изменено позже в программе. Другими словами, это постоянно. Он служит более популярной альтернативой #define.
  • При использовании массивов (тип данных, ссылающийся на коллекцию переменных) вы не можете использовать const.
  • Преимущество использования const перед #define заключается в том, что const позволяет вам указать тип данных для определяемой константы, как вы можете видеть на этом изображении:

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

— — — —

const float pi = 3,14;

(нет, знак равенства здесь не является ошибкой - он используется для определения констант)

float x;

// ….

x = pi*2;

pi = 7;

— — — —

Ошибка: в первой строке число пи объявлено как константа; по этой причине в последней строке используется неправильный синтаксис, поскольку он пытается изменить значение константы.

  • Еще одна важная идея для объявления констант / переменных: область действия переменной
  • Объявление переменных и определение констант становится полезным только тогда, когда они объявляются в правильных частях программы; это называется областью видимости переменной, и это идея, что любая переменная ограничена местом, в котором она определена. Например, когда переменная / константа объявляется вне функций настройки и цикла, она называется глобальной переменной, что означает, что ее можно использовать во всей программе. С другой стороны, если переменная объявлена ​​в цикле for, ее можно использовать только в этом цикле (если вы попытаетесь сослаться на локальную переменную в сегменте кода, где она не была изначально определена, программа вернет неопределенное значение).

Включая библиотеки:

  • Чтобы включить библиотеки в свои программы Arduino, напишите следующий оператор:
  • #Include ‹library.h›
  • Использование #include позволяет программисту использовать и ссылаться на готовые библиотеки в своей программе. (Эти библиотеки можно найти и загрузить в диспетчере библиотек Arduino, который находится на вкладке Инструменты в верхней части экрана вашего компьютера.)
  • Внимание: обе функции #include и #define не используют точку с запятой, и ее использование приведет к ошибке.
  • При использовании внешнего компонента в вашей схеме, такого как, например, ЖК-дисплей, вы должны включить предварительно созданную библиотеку этого компонента в свою программу, чтобы микроконтроллер распознал ее (это упрощенное объяснение того, как работают библиотеки). Вот пример того, как это выглядит на практике:

Обратите внимание на синтаксис на этом изображении при обращении к библиотекам:

Комментарии

  • Комментарии игнорируются процессором и служат способом информировать себя и других о том, как работает программа. Есть два основных типа комментариев, которые подробно описаны ниже.

Однострочные комментарии //

  • Эти комментарии не имеют функции кодирования, а просто позволяют вам добавлять в код свои собственные мысли или напоминания. При использовании синтаксиса // комментарий не может занимать более одной строки кода.

Комментарий блока / * * /

  • Служат той же цели, что и однострочные комментарии, но использование этого синтаксиса позволяет использовать многострочные комментарии: комментарий должен начинаться с / * и заканчиваться * /. Все, что находится между этими двумя символами, будет игнорироваться компилятором и не будет занимать места в вашей программе.
  • Обычно я использую блочный комментарий, когда мне нужно изменить аспект кода или определить аспект программы, который вызывает данную ошибку, но не удаляю его полностью в процессе; в этих случаях я комментирую исходный код и изменяю его вне комментария.

На изображении ниже вы можете видеть, что я прокомментировал, чтобы другие программисты знали, какой вывод относится к какому цвету светодиода:

Пунктуация

Точка с запятой (;)

  • Точка с запятой используется в конце оператора (строки кода).
  • Если вы забудете поставить точку с запятой, компилятор выдаст ошибку; однако важно помнить, что #include и #define не используют точки с запятой.
  • Даже если вы пишете код внутри оператора if, вы всегда должны разделять каждую строку точкой с запятой.

Фигурные скобки {}

  • За открывающей скобкой должна следовать закрывающая скобка. Программное обеспечение Arduino IDE содержит полезную функцию, которая позволяет вам проверить правильность выравнивания скобок, щелкнув (или около) одну скобку; как только вы это сделаете, парная скобка будет выделена.

Эти скобки используются в:

  • Условные утверждения
  • Петли
  • Пока
  • Do
  • За
  • Функции
  • Все это будет подробно описано в следующей статье, ссылка на которую вы скоро найдете в комментариях к этой публикации.

Вот пример фигурных скобок в одной из моих программ:

Я надеюсь, что вы сможете использовать эту статью в качестве ориентира при создании своих невероятных программ Arduino. Если вы нашли это полезным, подумайте о том, чтобы оставить аплодисменты и подписаться, чтобы получать уведомления, когда я публикую новую статью. (Видеоконтент можно найти на моем канале YouTube https://www.youtube.com/channel/UC25QUdv5BI4KMx598UR0IWA или поищите его на @puriphico).

Наконец, не забудьте заглянуть в мой стартап puriphico.com!