Можно ли заменить delay на millis() в библиотеке
- Войдите на сайт для отправки комментариев
Вс, 08/12/2019 - 11:41
Привет всем форумчанам!
При использовании единственной доступной в интернете(родной китайской) библиотеки для датчика влажности и прочего AHT10, возникли проблемы с изменением и выведением на LCD1602 требуемой влажности воздуха, изменяемой посредством энкодера, а именно, сильно тупит изменение значений, как с выводом на LCD1602, так и в Serial.print. Но при отключении библиотеки AHT10 все работает отлично. При изучении библиотеки были обнаружены задержки в коде(delay), отсюда возник вопрос: "Можно ли поменять в коде библиотеки delay на millis(), и как это правильно сделать (как в основном коде, или как-то по другому это описывается)?
Заранее спасибо откликнувшимся!!!
Заменить можно.
Правильно это сделать так: проанализировать секретную библиотеку, разработать алгоритм замены, произвести работы по замене, протестировать изменённую функцию.
Собственно сама библиотека...
Температура и влажность параметры которые быстро невозможно изменить, если конечно зажигалкой не греть датчик. Вызывайте получение данных раз в минуту, а не как сейчас на каждом круге лупа. И перерисовывать температуру и влажность нужно только когда изменились показания датчика. Посмотрите тему блинк без делей. Вместо блинк вызывайте получение данных.
P.S. Посмотрел библиотеку. Делеев при получении данных не нашёл.
Это будет идентичный вариант для логики библиотеки?
Спасибо за отклик огромное!!!
Перед редактированием библиотек научитесь пастить код по правилам форума.
Спасибо еще раз! Буду искать проблему в своей голове, по итогам профилактических работ отпишусь!)
Negotiator, пожалуйста откройте для себя http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii , я предыдущие Ваши посты поправил, дальше буду неправильно вставленный код удалять.
Обязательно учту! Прошу прощения...
Ваше предложение на замену принципиально неправильно. Тут делей нужен для разделения по времени команд датчику по I2C. В рамках одной функции с однократным вызовом смысла менять делей на миллис нет.
Это будет идентичный вариант для логики библиотеки?
Конечно, нет. Раньше строки №№6-8 однократно вызывались, а теперь Вы им в цикле постоянно долбите.
Вы, прежде, чем спрашивать, хоть бы пробовали, что ли.
Благодарю за помощь. Буду строить логику скетча по-другому.