ESP-12e — контакты RX/TX мерцают при загрузке при использовании в качестве контактов GPIO

Я использую ESP-12e в качестве контроллера для своего садового освещения. Я использую контакты 1 (TX), 3 (RX) и 5 в качестве аналогового выхода (ШИМ-сигнал с MOSFET) для трех отдельных комплектов освещения. ESP включается при включении настенного выключателя (настенный выключатель включает блок питания). Когда я включаю переключатель, на короткое время лампы, подключенные к контактам 1 и 3, работают на полную мощность, а затем устанавливаются в соответствии с сигналом PWM. Индикаторы на контакте 5 работают так, как и ожидалось. Я не использую последовательную связь, просто элегантную библиотеку OTA для обновлений OTA и асинхронный веб-сервер. Можно ли как-то отключить функциональность RX/TX вообще/до того, как они будут установлены на высокий уровень, или я вынужден припаять лампочки на контактах 1 и 3 к другим? Я попробовал некоторые программные трюки, которые нашел в Интернете, но безуспешно.

, 👍0


2 ответа


Лучший ответ:

1

Я не использую последовательную связь

Возможно, нет, но загрузчик точно есть.

Можно ли как-то отключить функции RX/TX вообще/до того, как они будут установлены на высокий уровень

Нет. Это жестко запрограммировано в ПЗУ. Вы ничего не можете сделать.

или я вынужден перепаять лампочки на контактах 1 и 3 на другие?

Вы можете использовать один вывод ввода-вывода для управления буфером других выводов ввода-вывода. Что-то вроде вентиля И (74HC08) подойдет для этой работы:

схема

Только когда CTL имеет значение HIGH, сигналы L0-L2 будут отражаться на выходах светодиодов. . Таким образом, вы игнорируете все, что происходит с этими контактами, пока не активируете высокий уровень сигнала CTL. Выберите для CTL один контакт, на котором нет шума при загрузке, а остальные контакты не будут иметь значения.

Подробнее о том, какие выводы и что делают во время загрузки, прочитайте здесь.

,

Спасибо. Я надеялся, что смогу решить эту проблему только программно из-за сложного доступа к esp-12. Я понимаю способ с вентилем AND, но, вероятно, для меня более простой способ - отрезать кабели от RX / TX и припаять к более подходящим контактам., @Tomáš Páchnik

Немного покопавшись, я понял, что esp-12 имеет только два вывода (4 и 5), которые идеально подходят для моей работы (нет высокого состояния при загрузке), поэтому, поскольку мне нужно три вывода, ваш метод буфера AND является лучшим вариантом., @Tomáš Páchnik

Вот почему большинство WiFi-светильников, использующих ESP8266 (или чаще всего ESP8285), используют микросхему драйвера светодиодов PWM, например MY9231. Перенесите управление светодиодом на что-то другое и не беспокойтесь о том, что происходит при загрузке на ESP8266., @Majenko


1

Согласно этой ссылке, GPIO 1 и 3 имеют специальное поведение во время загрузки (вывод отладки или получение высокого уровня). ), который нельзя отключить в вашем скетче. Вы должны либо выбрать другие выводы, либо реализовать дополнительную схему.

,

Спасибо. Я надеялся, что смогу решить эту проблему только программно из-за сложного доступа к esp-12. Я не уделял достаточно времени подбору пинов, но, по крайней мере, узнал что-то новое., @Tomáš Páchnik