Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Volatile. volatile это слово, известное как квалификатор переменной, оно обычно пишется перед типом переменной





volatile это слово, известное как квалификатор переменной, оно обычно пишется перед типом переменной.

Объвление переменной как volatile является директивой компилятора. Компилятор - это программа, которая транслирует ваш C/C++ код в машинный код, который явлется настоящими инструкциями для чипов ATmega/

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

Переменная должна быть объявлена как volatile в случае, если она может быть внезапно изменена во время выполнения основной программы. В МК таким слабым местом является использование прерываний.

Пример

// toggles LED when interrupt pin changes state

int pin = 13;

volatile int state = LOW;

void setup()

{

pinMode(pin, OUTPUT);

attachInterrupt(0, blink, CHANGE);

}

void loop()

{

digitalWrite(pin, state);

}

void blink()

{

state =!state;

}

 

Const

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

Константы, объявленные квалификаторм const подчинаются всем правилам переменных. Это значит, что можно не использовать #define для объявления константы и использвоание const является более правильным,ч ем использование #denife.

Пример;

const float pi = 3.14;

float x;

//....

x = pi * 2; // it's fine to use const's in math

pi = 7; // illegal - you can't write to (modify) a constant

 

#define или const

Вы можете использовать const или #define для создания цифровых или строковых констант. Для массивов вы можете использовать только const. На практике использование const имеет преимущество перед #define.

Переменные в языке C имеют область действия переменной.

Глобальные переменные видимы в любой функции программы. Локальные переменные видимы только для функции, в которой они были объявлены. В среде разработки Arduino глобальными, считаются все переменные объявленные вне функций.

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

Иногда удобно обхъявлить переменную в теле цикла. В этом случае создается переменная, доступ к которой есть только внутри цикла.I

Пример:

int gPWMval; // глобальная переменная

 

void setup()

{

//...

}

 

void loop()

{

int i; // "i" локальная переменная, видимая только для "loop"

float f; // "f" локальная переменная, видимая только для "loop"

//...

 

for (int j = 0; j <100; j++){

// доступ к j есть толкьо внутри цикла.

}

}

 


 

Date: 2015-12-12; view: 343; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию