ESP8266引腳的說明
本指南將學習如何正確使用 ESP8266 GPIO。
ESP8266-12E
下圖說明了 ESP8266 12-E 芯片引腳。如果在項目中使用 ESP8266 裸芯片,請使用此關系圖。
目前,ESP8266芯片的開發板種類繁多,在可訪問的GPIOs數量、尺寸、外形規格等方面各不相同。
使用最廣泛的ESP8266板是ESP-01,ESP8266-12E節點MCU套件,和MINI D1。 有關這些板的比較。
ESP8266-01 引腳
如果使用 ESP8266-01 板,可以使用以下 GPIO 關系圖作為參考。
ESP8266 12-E 節點套件
WeMos D1Mini
下圖顯示了 WeMos D1 迷你引腳。
關於 ESP8266,需要注意的一件重要的事情是 GPIO 編號與板載上的標識並不匹配。例如,D0 對應於 GPIO16,D1 對應於 GPIO5。
下表顯示了板載標識和 GPIO 編號上的標簽之間的對應關系,以及項目中最好使用的引腳,以及哪些引腳需要謹慎。
以綠色突出顯示的引腳可以使用。以黃色突出顯示的可以使用,但需要注意,因為它們可能有意外行為,主要在啟動時。不建議將紅色突出顯示的引腳用作輸入或輸出。****
Label | GPIO | Input | Output | Notes |
---|---|---|---|---|
D0 | GPIO16 | 無中斷 | 無 Pwm 或 I2c 支持 | HIGH at boot used to wake up from deep sleep |
D1 | GPIO5 | OK | OK | 常用作SCL(I2C) |
D2 | GPIO4 | OK | OK | 常用作SDA(I2C) |
D3 | GPIO0 | 上拉 | OK | connected to FLASH button, boot fails if pulled LOW |
D4 | GPIO2 | 上拉 | OK | HIGH at boot connected to on-board LED, boot fails if pulled LOW |
D5 | GPIO14 | OK | OK | SPI (SCLK) |
D6 | GPIO12 | OK | OK | SPI (MISO) |
D7 | GPIO13 | OK | OK | SPI (MOSI) |
D8 | GPIO15 | 下拉 | OK | SPI (CS) Boot fails if pulled HIGH |
RX | GPIO3 | OK | RX | HIGH at boot |
TX | GPIO1 | TX | OK | HIGH at boot debug output at boot, boot fails if pulled LOW |
A0 | ADC0 | 模擬引腳 | X |
繼續閱讀,對 ESP8266 GPIOs 及其功能進行更詳細的深入分析。
連接到閃存芯片的 GPIOS
GPIO6 到 GPIO11 通常連接到 ESP8266 板中的閃存芯片。因此,不建議使用這些引腳。
啟動期間使用的引腳
如果某些引腳被拉低或高,可以阻止 ESP8266 啟動。以下列表顯示了引導上的以下引腳的狀態:
- GPIO16:引腳在引導時高
- GPIO0:如果拉低,啟動失敗
- GPIO2: 引腳在引導時高, 啟動失敗, 如果拉低
- GPIO15: 啟動失敗,如果拉高
- GPIO3: 引腳在引導時高
- GPIO1: 引腳在引導時高, 啟動失敗, 如果拉低
- GPIO10: 引腳在引導時高
- GPIO9: 引腳在引導時高
引腳在啟動時高
當 ESP8266 啟動時,某些引腳輸出 3.3V 信號。如果您有繼電器或其他外設連接到這些 GPIOs,這可能有問題。以下 GPIOs 在啟動時輸出高信號:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
此外,除 GPIO5 和 GPIO4 外,其他 GPIOs 可以在引導時輸出低壓信號,如果這些信號連接到晶體管或繼電器,則可能會有問題。您可以閱讀本文,其中調查每個 GPIO 在啟動時的狀態和行為。
如果要操作繼電器,GPIO4 和 GPIO5 是使用 GPIOs 最安全的方式。
模擬輸入
ESP8266 僅支持一個 GPIO 中的模擬讀取。GPIO 稱為ADC0,通常在絲網上標記為A0。
如果使用 ESP8266 裸芯片,ADC0 引腳的最大輸入電壓為 0 到 1V。如果您使用的是 ESP8266 12-E NodeMCU 套件等開發板,則電壓輸入范圍為 0 到 3.3V,因為這些板包含內部分壓器。
板載 LED
大多數 ESP8266 開發板都具有內置 LED。此 LED 通常連接到 GPIO2(D4)。發送高信號以將其關閉,發送低信號以將其打開。
RST 引腳
當 RST 引腳拉低時,ESP8266 將復位。這與按板載重置按鈕相同。
GPIO0
當 GPIO0 被拉低時,它會將 ESP8266 設置到引導加載器模式。這與按下板載閃存/引導按鈕相同。
GPIO16
GPIO16 可用於從深度睡眠中喚醒 ESP8266。要從深度睡眠中喚醒 ESP8266,GPIO16 應連接到 RST 引腳。
I2c
ESP8266沒有硬件 I2C 引腳,但它可以在軟件中實現。因此,您可以將任何 GPIOS 用作 I2C。通常,以下 GPIOS 用作 I2C 引腳:
- GPIO5: SCL
- GPIO4: SDA
Spi
ESP8266 中用作 SPI 的引腳包括:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
PWM 引腳
ESP8266 允許所有 I/O 引腳的軟件 PWM。ESP8266 上的 PWM 信號具有 10 位分辨率。
中斷引腳
ESP8266 支持任何 GPIO 中的中斷,GPIO16 除外。