В этой статье подробно описан базовый синтаксис для определения констант, включая библиотеки, создание комментариев и использование знаков препинания в ваших программах 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!