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


Полезное:

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


Категории:

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






Конвертирование типов переменных. Функции конвертирования типов переменных





 

Функции конвертирования типов переменных.

В качестве входного параметра принимается переменная любого типа.

Функция синтаксис тип возвращаемой переменной

char() char(x) char

byte() byte(x) byte

int() int(x) int

word() word(x) word(h, l) word

long() long(x) long

float() float(x) float

 

Область действия переменной и квалификаторы

 

Область действия переменной

Переменные в языке 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 есть толкьо внутри цикла.

}

}

 

Static

Слово Static используется для создания переменной, видимой только для одной фнукции. В отличие от уничтожаемой каждый раз при выходе из функции локальной переменной, эта остается объявленной.

Переменые, объявленные как Static будут созданы лишь однажды, при первом вызове функции.

Пример:

/* RandomWalk

* Paul Badger 2007

* RandomWalk wanders up and down randomly between two

* endpoints. The maximum move in one loop is governed by

* the parameter "stepsize".

* A static variable is moved up and down a random amount.

* This technique is also known as "pink noise" and "drunken walk".

*/

#define randomWalkLowRange -20

#define randomWalkHighRange 20

int stepsize;

int thisTime;

int total;

void setup()

{

Serial.begin(9600);

}

void loop()

{ // tetst randomWalk function

stepsize = 5;

thisTime = randomWalk(stepsize);

Serial.println(thisTime);

delay(10);

}

int randomWalk(int moveSize){

static int place; // variable to store value in random walk - declared static so that it stores

// values in between function calls, but no other functions can change its value

 

place = place + (random(-moveSize, moveSize + 1));

if (place < randomWalkLowRange){ // check lower and upper limits

place = place + (randomWalkLowRange - place); // reflect number back in positive direction

}

else if(place > randomWalkHighRange){

place = place - (place - randomWalkHighRange); // reflect number back in negative direction

}

return place;

}

 

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



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