Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 129
Из них просматривают:
Аналоги: 38. Видео: 2. Даташиты: 16. Инструкции: 22. Новости: 13. Остальное: 2. Производители: 9. Профиль пользователя: 4. Расчёты: 1. Теги: 4. Форум: 17. Чат: 1.
Участников: 3
Гостей: 126

an , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

static

Описание
Ключевое слово static используется для создания переменных, которые видны только одной функции. Однако в отличие от локальных переменных, которые создаются и уничтожаются каждый раз при вызове функции, переменные static сохраняются за пределами вызова функции, сохраняя свои данные между вызовами функций.

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

Пример

/* RandomWalk
  Paul Badger 2007
  RandomWalk случайным образом блуждает вверх и вниз между двумя
  конечные точками. Максимальный значение в одной петле определяется
  параметром 'stepize'.
  Статическая переменная перемещается вверх и вниз на случайную величину.
  Этот прием также известен как «розовый шум».
*/

#define randomWalkLowRange -20
#define randomWalkHighRange 20
int stepsize;

int thisTime;

void setup() {
Serial.begin(9600);
}

void loop() {
// test randomWalk function
stepsize = 5;
thisTime = randomWalk(stepsize);
Serial.println(thisTime);
delay(10);
}

int randomWalk(int moveSize) {
static int place; // переменная для хранения величины случайного перемещения - объявлена как static
// поэтому сохраняет свое значение между вызовами функции. При этом другие функции не могут ее изменить

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

if (place < randomWalkLowRange) { // проверка нижнего и верхнего пределов
place = randomWalkLowRange + (randomWalkLowRange - place); // если меньше, то увеличиваем
}
else if (place > randomWalkHighRange) {
place = randomWalkHighRange - (place - randomWalkHighRange); // если больше, то уменьшаем
}

return place;
}


Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Наличие высокого напряжения на присоске можно проверить отверткой, соединенной с корпусом через резистор 3-5 МОм
Наличие резистора обязательно, так как без него из-за большого тока можно повредить умножитель или строчный трансформатор типа ТДКС.

Похожие инструкции