Почему этот чрезвычайно простой код не работает?
У меня есть проблема с циклом for, и Serial.print("Its Working")
не появляется. Кажется простым, я делал это раньше, но теперь по какой-то причине это больше не работает
void setup() {
// поместите свой установочный код здесь, чтобы запустить его один раз:
Serial.begin(9600);
}
void loop() {
// поместите свой основной код здесь, чтобы запустить его повторно:
for (int x = 0; x > 10; x++) {
Serial.println("Its Working");
delay(1000);
}
}
@Coder9390, 👍1
1 ответ
Лучший ответ:
▲ 6
Проблема заключается в следующем:
for (int x = 0; x > 10; x++) {
Это может быть переписано, в псевдо-коде, как:
- X равно нулю
- В то время как X больше 10:
- Приращение X
Видишь, в чем проблема? X равно нулю. Он не больше 10, поэтому никогда не увеличивается.
Я предполагаю, что вы на самом деле хотели:
for (int x = 0; x < 10; x++) {
Также имейте в виду, что ваш цикл for будет выполняться снова и снова, так что вы никогда не увидите, как он закончится. Вы должны добавить
Serial.println("Loop done");
в конце, чтобы вы знали, что все кончено.
,
@Majenko
Смотрите также:
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Как изменить имя модуля ESP8266-12E по умолчанию
- Простой запрос GET с ESP8266HTTPClient
- В ESP-12E NodeMCU, какой выход PIN A0?
По сути, цикл for никогда не запускается, когда он в первый раз проверяет условие, оно уже ложно, верно?, @Coder9390
@Coder9390 Это верно., @Majenko
@Coder9390: Вы можете убедиться в этом сами, выполнив один шаг кода с помощью отладчика. Вы увидите, как выполнение пропускается по циклу, даже не входя в тело цикла. Это ваш намек на то, что вы случайно написали условие цикла, которое является ложным при первой проверке. Помните, что цикл for в основном совпадает с "частью 1;" / " в то время как(часть 2){ ...; часть 3;}", поэтому, как и в цикле while, условие проверяется перед первым входом в цикл., @Peter Cordes
@Coder9390: Использование отладчика необходимо для низкоуровневых задач, где такие альтернативы, как разбрызгивание инструкций отладочной печати в вашем коде, нелегки, или чтобы помочь поймать пукающие мозги, когда что-то, что вы считаете правильным, на самом деле было проблемой., @Peter Cordes