Извините, ежели ошибся разделом, перенесите куда следует, если что.
Купил сыну конструктор, там клон Arduino Uno на Atmrga328. Попробовали несколько простеньких скетчей и тут я решил размять пальцы и усложнить задачу... Совершенно не понимаю, что происходит?
Цикл? Или не цикл? Создаю цикл в void loop:
void loop() {
for(int A = 0;A<255;A++){
Serial.println(A);
}
}
И что вы думаете? Ардуина выдаёт мне 0, постоянно. Я не понял, «А» в цикле и «А» в команде «Serial.println(A)» внутри цикла - это разные переменные, что ли? Бред же. Даже в примерах циклы так пишут, но у меня почему-то это не работает.
Хорошо, идём обходным путём:
int A = 0;
void loop() {
for(int B = 0;B<255;B++){
Serial.println(A);
A = A +1;
}
A = 0;
}
И тут я решил проверить как работают вообще вложенные циклы:
int A = 0;
int B = 0;
int C = 0;
void loop() {
for(int A1 = 0;A1<255;A1++){
for(int B1 = 0;B1<255;B1++){
for(int C1 = 0;C1<255;C1++){
Serial.println(A);
Serial.println(B);
Serial.println(C);
C = C +1;
}
B = B + 1;
}
A = A +1;
}
}
КАК ЭТО ВОЗМОЖНО? Что вообще происходит? Что за бред? Обясните мне, дураку, я чего-то не понимаю, или с железкой что-то не так?
Поправка:
Так, проверил на своём компе, на котором ковырял всякие железки и 3Дпринтер на ардуине. Переключил на уно в настройках, больше ничего не делал. Цикл действительно работает как надо.
Что тогда может быть не так на втором компе, на котором всё плохо работало? Ардуину на него поставил только вчера, настроил на уну и всё. Обе системы идентичны по дистрибутиву(Манджара) и версиям пакетов. gcc-multilib на обеих. Что ещё не так?