Ну вот, прекрасно, значит осталась функция pulseIn под вопросом. Тайм-аут установлен в 100 секунд. А теперь главный вопрос - она блокирующая или нет? Судя по всему, блокирующая. Значит ее надо менять на неблокирующий вариант
Ну вот, прекрасно, значит осталась функция pulseIn под вопросом. Тайм-аут установлен в 100 секунд. А теперь главный вопрос - она блокирующая или нет? Судя по всему, блокирующая. Значит ее надо менять на неблокирующий вариант
100 секунд - время ожидания сигнала, это не блокирующая штуковина.
В случае если
...
if ((millis() - lastTimeCheckL) > 2000) {
....
заменяем на "delay(2000);", то всё работает, поэтому дело не в pulseIn, она вроде как работает адекватно.
Подозреваю, что дело либо в "if ((millis() - lastTimeCheckL) > 2000)" либо в каких-нибудь начальных настройках
да шо ви говог'ите! pulseIn ждет импульс в течение заданного таймаута, блокируя выполнение дальнейшего кода. Переделать
короче, предлагаю использовать библиотеку Bounce2, там есть пример и для нескольких входов сразу
нужно переделать логику в принципе.
добавить прерывания на включение и на выключение кнопки. когда срабатывает прерывание включения, то просто сохраняем в переменной время включения и устанавливаем флажок, что кнопка была включена. при срабатывании прерывания на выключение кнопки, флажок сбрасываем.
далее в лупе, если флажок установлен, то в каждом цикле смотрим текущее время. если разница между текущим временем и временем нажатия превысила лимит, то запускаем некоторую логику.
пихать все в луп - не правильно. там может быть все что угодно, и задержки, и кривой кот и так далее. и это все повлияет на работу программы.
желательно, чтобы при нажатии на кнопку отсутствовали дребезги, чтобы прерывания лишний раз не срабатывали. но если задержка составляет 0.2 сек, то думаю это и не обязятально.
где гарантия, что не появятся в будущем? или что не будет добавлена еще пачка кода, которая уже не будет успевать отрабатывать заданный лимит времени?
zverjuga, я думаю RepoMan говорил о delay в цикле, их там быть не должно, а задержки выставляются таймерами , а события прерываниями.
RepoMan:да шо ви говог'ите! pulseIn ждет импульс в течение заданного таймаута, блокируя выполнение дальнейшего кода. Переделать
Добавлено спустя 2 минуты 14 секундкороче, предлагаю использовать библиотеку Bounce2, там есть пример и для нескольких входов сразу
Да, убедился, что pulsln всё подвешивает, буду переделывать принципиально. Только остался риторический вопрос: почему pulsln не был замечен в подвешивании системы в паре с delay?...
Всем большое спасибо за неравнодушность и помощь! Особенно RepoMan'у.
ingecate:почему pulsln не был замечен в подвешивании системы в паре с delay?...
почему не подвешивал? всё он подвешивал, delay ни при чем
офлайн
m-e-d-w-e-d
Senior Member
|
|
770 |
15 лет на сайте Город:
|
Здравствуйте, господа!
Может у кого валяется без дела модуль и готов продать? Очень срочно нужно 2 штуки и как на зло везде они закончились. Заказывал у китайцев, но они не доложили в посылку. А до НГ нужно доделать приборчик.
ХЕЛП
m-e-d-w-e-d:ХЕЛП
595 + LED семисегментник и немного кода для динамической индикации
офлайн
m-e-d-w-e-d
Senior Member
|
|
770 |
15 лет на сайте Город:
|
да уж
а у вас рубашка точно такая с голубыми пуговицами есть?
нет?
будем искать.
на ждановичах возьми и2с модуль присобач к жки и код поприятней
я как-то затарился семисегментниками но под код без и2с типа паяльных станций забабахать
купил самый крутой в мире паяльник за 120 баксов и успокоился
art100:возьми и2с модуль присобач к жки
Я жки напрямую собачу, на 4 линии больше, зато доп.плат не надо.
офлайн
m-e-d-w-e-d
Senior Member
|
|
770 |
15 лет на сайте Город:
|
офлайн
m-e-d-w-e-d
Senior Member
|
|
770 |
15 лет на сайте Город:
|
m-e-d-w-e-d:SIO:m-e-d-w-e-d, Оно?
оно, но у них нет в наличии, звонил.
интересно звучит
они
там один хлопчик пытается ип-шится в старых лабораториях НПО Центр
дай бог ему держаться
бандерлоги просрали киевское объединение маяк в 10000 работников
теперь этиже электроники делают эти же 10000 работников только в шеньжене и с узкими глазами
преподностися это как супер завод
а вот рядом в киеве эти 10000 работников уже были и сейчас голодные
вот и нпо центр не загружен разработками уже умер только одинокие хлопчики что-то пытаются
просто к этому хлопчику зайди найдешь там много самоделок
он наш самоделка
Из сегодняшнего
Второй слой лака пошел.
офлайн
ВиталийXXL
Senior Member
|
|
9900 |
21 год на сайте Город:
|
и причём тут проблемы заводов в других странах ?
Горизонт , Витязь - аминь .