elchupanibrei (elchupanibrei) wrote,
elchupanibrei
elchupanibrei

Category:

Баг-фича в Arduino Framework для ESP8266

Если в главный цикл loop() в конце или начале добавить delay(1), а лучше delay(2), то можно не хило сэкономить на батарейках.




магический delay(1)

Быстродействие почти не меняется, а экономия внушительная:

- любая delay() > 1: 28 мА/ч
- delay(0) / yeld(): 50 мА/ч
- delayMicroseconds(1000): 50 мА/ч
- пустой loop(): 50 мА/ч
- любой loop() без delay(): 50 мА/ч

Итого разница в потреблении 1.79 раз!!! Впервые баг-фичу описали тут, а вчера наш соотечественник наступил на те же грабли здесь. Программы написанные на LUA такого подарка не имеют и потребляют 28 мА/ч.

Аксакалы говорят, что разработчики фреймворка под Arduino с самого начала свернули не на ту дорогу, все сделали через одно место и теперь мы имеем то что имеем. А люди на этом управление газовыми котлами пишут - вот где безумие и отвага. Особо одаренные встраивают в промышленное оборудование.
Tags: #arduino, #esp8266, arduino, esp8266
Subscribe

  • MatrixClock v2.0.0 уже на Github

    Выкатил финалочку. Писалось в свободное от работы, семьи время. На все про все ушло 1.5 года. Осталось нарисовать корпус для печати на 3D принтере.…

  • Собрал Ka-Radio32 на ESP32

    Два года слушал младшую модель Ka-Radio на ESP8266, но не хватало экрана, нормального управления и 320kbps. На github нашел интересную плату.…

  • Библиотека для DFPlayer Mini

    Из того что есть на GitHub ничего не понравилось. Пришлось писать свою... Так и не понял зачем, для ожидания ответа, люди изобретают велосипед с…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 1 comment