ESP-12e — контакты RX/TX мерцают при загрузке при использовании в качестве контактов GPIO
Я использую ESP-12e в качестве контроллера для своего садового освещения. Я использую контакты 1 (TX), 3 (RX) и 5 в качестве аналогового выхода (ШИМ-сигнал с MOSFET) для трех отдельных комплектов освещения. ESP включается при включении настенного выключателя (настенный выключатель включает блок питания). Когда я включаю переключатель, на короткое время лампы, подключенные к контактам 1 и 3, работают на полную мощность, а затем устанавливаются в соответствии с сигналом PWM. Индикаторы на контакте 5 работают так, как и ожидалось. Я не использую последовательную связь, просто элегантную библиотеку OTA для обновлений OTA и асинхронный веб-сервер. Можно ли как-то отключить функциональность RX/TX вообще/до того, как они будут установлены на высокий уровень, или я вынужден припаять лампочки на контактах 1 и 3 к другим? Я попробовал некоторые программные трюки, которые нашел в Интернете, но безуспешно.
@Tomáš Páchnik, 👍0
2 ответа
Лучший ответ:
Я не использую последовательную связь
Возможно, нет, но загрузчик точно есть.
Можно ли как-то отключить функции RX/TX вообще/до того, как они будут установлены на высокий уровень
Нет. Это жестко запрограммировано в ПЗУ. Вы ничего не можете сделать.
или я вынужден перепаять лампочки на контактах 1 и 3 на другие?
Вы можете использовать один вывод ввода-вывода для управления буфером других выводов ввода-вывода. Что-то вроде вентиля И (74HC08) подойдет для этой работы:
Только когда CTL
имеет значение HIGH
, сигналы L0
-L2
будут отражаться на выходах светодиодов. . Таким образом, вы игнорируете все, что происходит с этими контактами, пока не активируете высокий уровень сигнала CTL
. Выберите для CTL
один контакт, на котором нет шума при загрузке, а остальные контакты не будут иметь значения.
Подробнее о том, какие выводы и что делают во время загрузки, прочитайте здесь.
Согласно этой ссылке, GPIO 1 и 3 имеют специальное поведение во время загрузки (вывод отладки или получение высокого уровня). ), который нельзя отключить в вашем скетче. Вы должны либо выбрать другие выводы, либо реализовать дополнительную схему.
Спасибо. Я надеялся, что смогу решить эту проблему только программно из-за сложного доступа к esp-12. Я не уделял достаточно времени подбору пинов, но, по крайней мере, узнал что-то новое., @Tomáš Páchnik
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
Спасибо. Я надеялся, что смогу решить эту проблему только программно из-за сложного доступа к esp-12. Я понимаю способ с вентилем AND, но, вероятно, для меня более простой способ - отрезать кабели от RX / TX и припаять к более подходящим контактам., @Tomáš Páchnik
Немного покопавшись, я понял, что esp-12 имеет только два вывода (4 и 5), которые идеально подходят для моей работы (нет высокого состояния при загрузке), поэтому, поскольку мне нужно три вывода, ваш метод буфера AND является лучшим вариантом., @Tomáš Páchnik
Вот почему большинство WiFi-светильников, использующих ESP8266 (или чаще всего ESP8285), используют микросхему драйвера светодиодов PWM, например MY9231. Перенесите управление светодиодом на что-то другое и не беспокойтесь о том, что происходит при загрузке на ESP8266., @Majenko