ESP8266: Безопасно ли использовать контакт 0?

Этот (возможно глупый) вопрос беспокоит меня уже давно...

Если пин 0 должен быть подключен к земле для загрузки скетча в ESP8266, и после загрузки чип автоматически запускает загруженный скетч (не дожидаясь перезагрузки с отключением пина 0), то не уничтожит ли это чип, если я сделаю digitalWrite(0, HIGH) в своем скетче? Поправьте меня, если я ошибаюсь, но он должен закоротить 3,3 В напрямую на землю через этот пин... Эта проблема как-то защищена? Или, может быть, этот пин можно безопасно использовать только для чтения?

Редактировать:

Я видел, что он подключен к земле напрямую на каждой схеме ESP8266, но, может быть, мне просто следует использовать подтягивающий резистор? Или, может быть, у чипа уже есть резистор перед этим выводом, чтобы решить эту проблему?

, 👍3


3 ответа


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

6

Вы можете абсолютно точно использовать GPIO0 в качестве выхода. ESP будет считывать состояние GPIO0 один раз при загрузке (и никогда больше после этого), чтобы определить, в какой режим загрузки войти. В это время он является входом, поэтому, что бы вы ни подключили к GPIO0, не должно удерживать этот вывод на низком уровне (если вы, конечно, не хотите войти в режим загрузчика), по крайней мере, пока чип не загрузится. Пока вы удовлетворяете этому условию, вы можете использовать вывод для чего угодно еще. Например, на моей плате я использую его для управления простым светодиодом состояния и никогда не видел никаких проблем с этим.

,

2

Что вы считаете контактом 0? Если посмотреть на схему, то это может быть либо GND, VCC, RX или TX pin. Или вы имеете в виду GPIO0?

При подключении GPIO0 к GND и в сочетании с RST к GND ESP перейдет в режим программирования. Хорошей практикой является наличие отдельной платы программирования, что-то вроде Вот эта. Перейдите в раздел "Написание программы для ESP8266" и ознакомьтесь со схемой. Регулятор напряжения можно не использовать, если вы уже питаете его напряжением 3,3 В.

,

1

Можно утверждать, что GPIO0 безопасно использовать в качестве выхода, но я бросаю вызов любому, кто покажет, что он действительно это сделал. При настройке GPIO0 в качестве выхода я получаю только колебания (около 70 кГц), загруженные или открытые, когда подаю на этот пин НИЗКИЙ уровень. Даже GPIO15 работает без проблем при использовании в качестве выхода. Было протестировано несколько новых модулей ESP8266-12F.

,