Не работает код
- Войдите на сайт для отправки комментариев
Чт, 10/03/2016 - 08:55
Нужно выполнять цикл определенное количество миллисекунд (duration)
Почему это не работает
int timerBegin = millis(); int timerCounter; while (timerCounter - timerBegin >= duration) { //исполняемый код timerCounter = millis(); }
для начала
unsigned
long
timerBegin
;Прям все красками заиграло... Ничего не изменилось
Спасибо огромное
Тут надо только учитывать, что
millis()
сбрасывается на ноль через 4294967295 миллисекунд (приблизительно 50 дней).И если сброс
millis()
на ноль произойдёт во время работы цикла, то этот цикл может работать 50 дней.Поэтому надо в тела цикла вставить проверку и в случае необходимости выходить из него.
Если время работы цикла критично и останавливать его не желательно.
Работоспособность кода не проверялась.
Опять про этот переход через ноль.....
Если честно- надоело.
Кто-нибудь может включить это крупными буквами в ФАК?
http://arduino.ru/forum/programmirovanie/eshche-raz-migaem-svetodiodom-b...
спрашивают , и будут спрашивать !
:(
и ФАКи не помогут !
Здравствуйте, уважаемые форумчане!
Нужна Ваша помощь.. Задам свой вопрос здесь, поскольку тема подходит по смыслу =)
Вобщем идея следующая - на даче есть освещение забора и двора. Нужно ежедневно автоматически включать освещение забора когда стемнеет и выключать его на рассвете, а освещение двора включать/отключать пультом 433МГц.
Посчитав, что для этой цели Arduino Nano - за глаза, и прикрутив к нему модуль реального времени, радиоприемник и двуканальное реле получил следующий тестовый стенд:
(датчик влажности и температуры тут лишний)
Обладая весьма скромным опытом написания софта для ардуинки, и используя подходящие исходники из сети получил 2 скетча, в принципе делающие то что нужно:
1) Скетч управления освещением забора:
2) Скетч радиоуправления:
Все вроде бы хорошо, и остался сущий пустяк - объеденить их в 1 скетч, реализующий необходимый функционал. Но с этим беда..
У меня получилось:
И.. ничего не работает) Вернее не работает функционал с радиоуправлением. Подскажите, пожалуйста, где тут ошибки?)
Ошибка в МОЗГУ!
Устал повторять.
1. Пойми что ты хочешь
2. Положи ТЗ (техзадание) на бумагу
3. составь алгоритм
4 разбей на блоки
5 реализуй их по очереди
6 собери в кучу.
Поверь - все получится!
А, забыл про пункт 0 - если берешь чужие скетчи - пойми как они работаю прежде чем применять!!!!!!!
Спасибо! Отлично!
Максимально бесполезный ответ - и не помог и оскарбил, молодец!
На самом деле все так и сделал, пока проект как раз на 6 стадии по твоему списку. Знаю что вопрос глупый и скорее всего там ерунда, но вот решил обратиться за помощью, неужели сложно помочь если знаешь?
Сложно. Потому что:
1. скетч практически не комментирован, а тратить время на разбор чужого скетча с непонятной логикой и назначением я не хочу.
2. нет описания и даташита на модуль радиоприема, и пульта подачи сигнала.
3. непонятно работает ли собственно сам приемник на макете без всего остального?
2. Взял приемник вместе с передатчиком вот здесь: http://www.aliexpress.com/snapshot/7192121336.html?orderId=71679949833286
Передатчик выкинул, использую стандартный универсальный брелок на 433 Мгц, код кнопки, как можно видеть из соответствующего скетча: CF60 12.
3. Как я уже писал выше - имеем 2 полностью рабочих по отдельности скетча, которые просто нужно объединить в один.
1. Самое главное - если не хочешь разобраться, помочь, какого тогда рожна голову морочишь?!)
Разобрался, как и ожидалось, все было просто)
Очень полезный форум, что бы я без него делал))
Особенно без тебя, at0mix)))