Не работате функция LOOP
- Войдите на сайт для отправки комментариев
Ср, 08/05/2019 - 10:46
Привет, всем!
Столкнулся с проблемой: Вроде бы код для бугущих огоньков с их последующим отключением написан правильно, но почему-то этот процесс не цикличен, хотя всё необходимое находится в void loop...
byte x = 13; byte ledpin[11]; void setup() { for (byte i = 0; i <= 10; i++) { ledpin[i] = x; pinMode(x, OUTPUT); x--; } } void loop() { for (byte i = 0; i <= 10; i++) { digitalWrite(ledpin[i], HIGH); delay(100); } for (byte i = 10; i >= 0; i--) { digitalWrite(ledpin[i], LOW); delay(100); } }
Ну... и что с огоньками не так? Код-то, может, и написан правильно, но не так, как задумано.
Они снова не загораются, то есть то, что написано в void loop исполняется только 1 раз
В setup() добавляйте Serial.begin(9600), в строку #19 Serial.println(i); delay(500);
Загружайте в МК, открывайте Serial Monitor, смотрите на циферки и пытайтесь найти аномалию.
Включите в IDE вывод всех ошибок
Спасибо! Дальше сам справлюсь
Строка 17, заменить byte на int. И отписаться о результатах.
Не работает - не плати зарплату.
А пока, возьми лупу направь её на строку №17 и внимательно глядя на эту строку скажи вслух: "тип byte - беззнаковый". Скажи это с чувством и с расстановкой. Если озарение не наступит, повтори процедуру ещё раз, медленнее и внятнее. И так тверди эту фразу, глядя на строку №17 до тех пор, пока прояснение не наступит.
Не работает - не плати зарплату.
А пока, возьми лупу направь её на строку №17 и внимательно глядя на эту строку скажи вслух: "тип byte - беззнаковый". Скажи это с чувством и с расстановкой. Если озарение не наступит, повтори процедуру ещё раз, медленнее и внятнее. И так тверди эту фразу, глядя на строку №17 до тех пор, пока прояснение не наступит.
Столь глубока твоя вера в людей, что воистину достойна восхищения! ;))
Ошибка понятна, спасибо!
Ошибка понятна, спасибо!
точно понятна?
Ошибка понятна, спасибо!
точно понятна?
Чет не уверен. To ТС, а попробуйте вместо int, long. Тож должно работать.))))
P/S А в 13 строке, int, нахуа?
Ошибка понятна
Судя по тому, что в коде просто тупо воспроизведён "совет общего характера" от Самоделкина - боюсь, что нет.
Вот если бы Вы оставили по-прежнему однобайтовую переменную, тогда было бы похоже, что понятна.
Надеюсь, у вас, умников, тонко разбирающихся в человеческой психологии, иссякнет вопрос, разобрался я или нет)
P.S. Написал 2 раза int для красоты, но для вас, дорогие мои, уберу.
Ну а если такой гениальный, зачем спрашивать приходил?
Столь глубока твоя вера в людей, что воистину достойна восхищения! ;))
Таки жизненный опыт заставляет верить в безграничные возможности человека! Сколько раз уже было, что вроде, "ну, вот тут крайне трудно накосячить", но специалисты всегда находились! Чего только стоит 1000/1024 от Великого или тот крендель, что на тиньке аналоговый сигнал с пина ресет снимал и доказывал нам всем, что это нормально, а мы - закостенелые догматики. Помнишь?
Ко мне не сразу пришло " Прояснение ", а только после одного коммента. А до этого я не понимал в чём ошибка.
ЕвгенийП объясни мне почему:
Х=13
А i может быть от 0 до 10
Потомушто i - итератор массива, а не пинов.
Надеюсь, у вас, умников, тонко разбирающихся в человеческой психологии, иссякнет вопрос, разобрался я или нет)
Действительно иссяк - теперь точно стало ясно, что ни хрена толком не разобрался. Услышал, что сказали, а как правильно исправить, так и не понял.
Ибо строка
есть жуткая мина замедленного действия.
Тип char, во-первых, имеет разную знаковость в С и С++ (стоит перенести код в другой файл и ...), а во-вторых, знаковый он или беззнаковый зависит ещё и от опций компилятора. Завтра выйдет новая версия IDE и там, не дай Бог, по умолчанию будут другие опции. Вот тогда ты начнёшь заваливать форум воплями: "вчера работало! ничего не менял! IDE кривая!". А кривые-то на самом деле собственные руки и мозги.
А может, не будем хамить? "Для нас" это нахрен не нужно! Это Вы пришли за помощью, а не мы.
А исправлено крайне безграмотно и порождает новые проблемы. Впрочем, про это уже подробно написал коллега.
Муж_Долговой, я не понял вопроса.
Муж_Долговой, я не понял вопроса.
он сам не понял, что спросил.
Муж - массив заполняется десятью номерами пинов, начиная с 13 и вниз.
Муж_Долговой, я не понял вопроса.
он сам не понял, что спросил.
Муж - массив заполняется десятью номерами пинов, начиная с 13 и вниз.
Мне уже Sadman41 уже разъяснил. Спасибо.
Просто сразу я недопонял цикла в сетапе. про неявно заданные массивы надо ещё потренироваться. Интересный способ.
Только в крайней нужде использую №13.
Просто сразу я недопонял цикла в сетапе. про неявно заданные массивы надо ещё потренироваться. Интересный способ.
А где там "неявно заданный массив"?
Просто сразу я недопонял цикла в сетапе. про неявно заданные массивы надо ещё потренироваться. Интересный способ.
А где там "неявно заданный массив"?
А вот!!! Его так просто не увидишь! Он же НЕ ЯВНО заданный. Даже ты не заметил.
А вот!!! Его так просто не увидишь! Он же НЕ ЯВНО заданный. Даже ты не заметил.
мож зрение проверить? :)
А если скрьёзно ... то разобраться как работает устройство гораздо проще, чем изучить технические термины. Меня тоже бесит "сосОк" вместо вентиля или "шестерёнка" вместо зубчатого колеса. Это то, что выдаёт любого новичка. А уж про "шняга", "фиговина", "ерундовина" - так вообще молчу. Извините,... если что то не так назову.
А если скрьёзно ... то разобраться как работает устройство гораздо проще, чем изучить технические термины. Меня тоже бесит "сосОк" вместо вентиля или "шестерёнка" вместо зубчатого колеса. Это то, что выдаёт любого новичка. А уж про "шняга", "фиговина", "ерундовина" - так вообще молчу. Извините,... если что то не так назову.
А научиться где? В ПТУ опять? К каждому новому хобби - за парту? Может всё таки по разному помогать с кодом ... студенту профильному (который хоть термины то обязан знать) или автомеханику, для которого это просто достойная замена вино-домино. Есть ещё способ: промеждупрочим сказать как правильно это называется. Но так не прикольно же. Понты - дороже.
1. Можно играть на слух, не зная нот. Но вот играть с листа без такого знания - уже проблематично. Равно как и принимать любое участие (как в одну, так и в другую сторону) в обмене музыкальным материалом. Да банально, если воспринимать "pp" как "пожалуйста погромче", то от авторского замысла наверняка ничего не останется. Так что терминологию надо знать: назвался груздем - полезай в кузов.
2. Трудно понять того, кто не владеет терминологией. А, не понимая, довольно трудно "сказать, как приавильно это называется".
А если скрьёзно ... то разобраться как работает устройство....
Меня тоже бесит "сосОк" ...
а меня не бесят, они меня радуют )))
А научиться где? В ПТУ опять? К каждому новому хобби - за парту?
ну уж в наше время стыдно говорить, что научиться негде. особенно программированию - лекциями и пособиями весь инет забит. Хочешь по русски, хочешь по английски. Только если действительно хочешь научиться - надо не в форумы чушь постить, а сначала сесть прочесть 2-3 хороших книжки по языку.
вы бы задумались - уровень у вас нулевой, зато почти в каждой ветке отметились со своими супер важными замечаниями
То не наездник, что не падал с лошади.
Программированию научится легко ... как сказал порутчик Ржевский ...
***
Свой уровень 800/12 подели, Эксперт
дак у тебя уровень пока, кабутта ты под лошадью ездиишь. ну прочитай уже Саймона Монка.
дак у тебя уровень пока, кабутта ты под лошадью ездиишь. ну прочитай уже Саймона Монка.
можно хоть сто раз прочитать и, не научиться...
к примеру недавно столкнулся с фунцией if(условие 1 || условие 2) работающей с точностью наоборот, пришлось заменить на И )))
дак у тебя уровень пока, кабутта ты под лошадью ездиишь. ну прочитай уже Саймона Монка.
можно хоть сто раз прочитать и, не научиться...
к примеру недавно столкнулся с фунцией if(условие 1 || условие 2) работающей с точностью наоборот, пришлось заменить на И )))