Приветствую Вас ГостьПятница, 03.05.2024, 17:06

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

for

Инструкция for используется для повторения блока инструкций, заключенных в фигурные скобки. Счетчик, как правило, используется для инкрементации (приращения) и завершает цикл. Инструкция for полезна для любой повторяющейся обработки и часто используется в сочетании с массивами и обработки данных или контактов.

Заголовок цикла for содержит три части:

for (инициализация; условие; инкремент) {
//инструкции;
}

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

Пример

// Изменение яркости светодиода, используя ШИМ-контакт
int PWMpin = 10; // Светодиод подключен последовательно с резистором 470 Ом на 10 контакте

void setup()
{
 // ничего не надо инициализировать
}

void loop()
{
 for (int i=0; i <= 255; i++){
 analogWrite(PWMpin, i);
 delay(10);
 } 
}

Советы по написанию кода:

Циклы for в Си гораздо более гибкие, чем циклы for в других языках программирования, таких как, Бэйсик. Любой или даже все три элемента заголовка могут быть опущены, хотя точки с запятой обязательны. Кроме того, инструкции в инициализации, условии и инкременте цикла могут быть любым допустимым в Си инструкциями с независимыми переменными, и использовать любой тип данных Си, включая данные с плавающей точкой (float). Такие возможности могут помочь в решении некоторых редких задачах программирования.

Например, использование умножения инкрементной части цикла позволяет создавать геометрическую прогрессию:

for(int x = 2; x < 1000; x = x * 2){
println(x);
}

Получим: 2,4,8,16,32,64,128,256,512

Другой пример - плавное увеличение, а затем уменьшение яркости светодиода с помощью одного цикла for:

void loop()
{
 int x = 1;
 for (int i = 0; i > -1; i = i + x){
 analogWrite(PWMpin, i);
 if (i == 255) x = -1; // меняем направление при достижении максимума
 delay(10);
 } 
}

Смотрите также:

while


Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Reference/For
Категория: Справочник | Добавил: magi (07.11.2014)
Просмотров: 1919 | Теги: for, Цикл | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски