Насколько помню в более свежих СДК реализация ШИМ в примерах от китайцев тоже была обновлена но я еще не вникал.Имеющийся ШИМ на прерывании по таймеру работать правильно не может.
Т.е. на новых СДК ШИМ будет работать хуже чем на старых?В новых SDK чаше встречается ets_intr_lock().
Да, прерывания могут быть причиной. Но поверьте Си++ память не выделяет сам по себе. И new фактически эквивалентен malloc. Неужели NodeMCU построен только на статических объектах?В pvPortMalloc, vPortFree и т.д. стоит ets_intr_lock() и если C++ часто запрашивает память для объектов, то дело такое...
В главном топике проскакивало - у кого-то были проблемы. (Может быть с питанием?)И кто-бы рассказал, чем GPIO2 отличается от другого порта ?
Не уверен, но есть подозрения. Надо пробовать - поставить тест на прерывание аппаратного таймера 0 на 10 us с коммутацией какого I/O и смотреть логическим анализатором или осциллографом пропуски.Т.е. на новых СДК ШИМ будет работать хуже чем на старых?
Практически - да, только на статических. Память запрашивается очень редко и большими кусками. А кол-во кусков может сказаться на времени их разбора с отключенными прерываниями в процедурах mem... Тут надо глядеть реализацию распределителя памяти...Да, прерывания могут быть причиной. Но поверьте Си++ память не выделяет сам по себе. И new фактически эквивалентен malloc. Неужели NodeMCU построен только на статических объектах?
ROM:40000F65 waiti 0
ROM:40000F68 call0 ets_intr_unlock
ROM:40000F6B j loc_40000F4F
Проблему ШИМ решил с помощью NE555 (временно). Настроил на 38 kHz и дёргаю GPIO2 выход RESET NE555.Здравствуйте!
Возможно ли с помощью фреймворка Sming реализовать ШИМ на модуле ESP8266-01. Хочу реализовать проект управление телевизором и другими устройствами c помощью смартфона.
Спасибо.
Недавно появился такой документ 0B-ESP8266 Hardware User Guide EN там на странице 18 сказано, что ESP8266 поддерживает IRDA на GPIO5Настроил на 38 kHz и дёргаю GPIO2
@anakod, есть идеи, что с этим делать и как быть? Сам пока сижу на старом SDK... И думаю, стоит ли обновляться.Если вернуть openlwip обратно (естественно со старым sdk), то все ОК.