Комментарии
Комментарии используются для инфомрмирования программиста о смысловой нагрузке участков кода. Они игнорируются компилятором и не занимают места в МК.
Комментарии помогают понять или запомнить логику работы программы. В случае, если ваш код будет разбирать кто-то другой, или же вы сами после долгого от него отлучения - комментарии весьма полезны. Существует два способа определения комментариев в программе:
Пример
x = 5; // Однострочны комментарий. Заканчивается переводом строки
/* Это многострочный комментарий.
if (gwb == 0){ // однострочный комментарий правильно работает внутри многострочного
x = 3; /* но многострочный внутри многострочного - нет */
}
// не забываем закрыть - соблюдаем баланс!
*/
Совет:
При экспериментировании с кодом весьма практично комментировать участки кода, но не удалять их. В этом случае гораздо проще починить код, и отпадает необходимость набирать его заново.W
Define
Дирректива препроцессора #define это удобный компонент C позволяющий программисту использовать макроопределения. Макроопределения не занимают места в памяти программ. При компиляции объявленные макроопределения просто заменяются на строку символов, таким образом имеется возможность указания какого-либо параметра (константы) сразу в нескольких местах кода.
Синтаксис:
#define constantName value
Помни, что символ # обязательный
Пример:
#define ledPin 3
// Компилятор заменит встречающее в коде ledPin на 3 во время компиляции программы.
Совет:
После директив препроцессора отсутсвует точка запятой. Если вы влепите ее туда то компилятор вылетит с ошибкой. page.
#define ledPin 3; // эта запись ошибочна
Также использование знака присваивания ошибочно.
#define ledPin = 3 // тоже ошибка
#include
Директива препроцессора #include используется ля подключению к проекту внешних библиотек. Это дает программисту все возможности библиотек языка C/C++, а также специальных, написанных для платформы Arduino.
Помни, что #include, как #define, не требуют точки с запятой, и компилятор вылетит с ошибкой если вы влепите ее туда.
Пример:
Этот пример подклчюает библиотеку, позволяющую класть данные в память программ, тем самым экономя оперативную память. Эдакий - свап-раздел на свободном месте флеша МК.
#include <avr/pgmspace.h>
prog_uint16_t myConstants[] PROGMEM = {0, 21140, 702 , 9128, 0, 25764, 8456,
0,0,0,0,0,0,0,0,29810,8968,29762,29762,4500};
Дата добавления: 2015-03-23; просмотров: 655;