# NodeMCU 腳位
https://lastminuteengineers.com/esp8266-nodemcu-arduino-tutorial/
https://lastminuteengineers.com/esp8266-pinout-reference/
+ 引腳對應
+ digitalWrite(4,HIGH) = GPIO4 = D2 = digitalWrite(D2,HIGH)
+ 引腳限制
輸入輸出電壓限制是3.3 V (輸入3.6V以上損壞)。
最大輸出電流是12mA。
+ 電阻
GPIO 0-15引腳都配有內置上拉電阻。
GPIO16 引腳配有內置下拉電阻。連接 RST 引腳實現睡眠喚醒
+ 使用建議
ESP8266晶片有17個GPIO引腳(GPIO0~GPIO16)。
+ 優先
D1 GPIO5
D2 GPIO4
D4 GPIO14
D5 GPIO12
D6 GPIO13
+ 注意
D0 GPIO16 : HIGH at boot, used to wake up from deep sleep
D3 GPIO0 : connected to FLASH button, boot fails if pulled LOW
D4 GPIO2 : HIGH at boot, boot fails if pulled LOW
D8 GPIO15 : Required for boot, boot fails if pulled HIGH
A0 ADC0 : Analog input pin, cannot be configured as output
+ 禁用
+ For flashing and debugging
RX GPIO3
TX GPIO1
+ Flash memory
CLK GPIO6
SDO GPIO7
CMD GPIO11
SD1 GPIO8
SD2 GPIO9
SD3 GPIO10
+ 其他解釋
+ 注意
GPIO0(FLASH) : 運行中?啟動時?需要一直保持高電平狀態。低電平將進入程式上傳工作模式無法正常工作了。NodeMCU的內置電路可以確保GPIO0引腳在工作時連接高電平而在上傳程式時連接低電平。
GPIO2(TXD1) : 啟動時需要一直保持高電平狀態
GPIO15(RTS0) : 運行中一直保持低電平狀態。因此請不要使用GPIO15引腳來讀取開關狀態或進行I²C通訊。
+ 禁用
GPIO6~GPIO 11被用於連接開發板的快閃記憶體(Flash Memory)。
+ 起始電壓
+ 啟動時輸出高電平
GPIO1
GPIO3
GPIO9
GPIO10
GPIO16
+ 啟動時輸出低電平
除GPIO4 GPIO5跟上面之外的
+ 常用功能
+ 模擬輸入
只有一個模擬輸入引腳
10-bit precision SAR ADC.
ESP8266 可以讀取的類比電壓值為 0 – 1.0V。超過毀損
NodeMCU開發板配有降壓電路。可以讀取0-3.3V
+ 序列埠(UART)
有2個硬體序列埠。
+ 序列埠0(UART0)
GPIO1 : TX0
GPIO3 : RX0。
+ 序列埠1(UART1)
GPIO2 : TX1
GPIO8 : RX1。
請注意,由於GPIO8被用於連接快閃記憶體晶片,序列埠1只能使用GPIO2來向外發送串列資料。 it is usually used for printing log.
+ I²C
ESP8266只有軟體類比的I²C埠,沒有硬體I²C埠。也就是說我們可以使用任意的兩個GPIO引腳通過軟體類比來實現I²C通訊。
+ 建議
GPIO4 : SDA
GPIO5 : SCL。
+ ESP8266的資料表(datasheet)中??
GPIO2 : SDA
GPIO14 : SCL。
註:the clock frequency is 100 kHz at a maximum. It should be noted that I2C clock frequency should be higher than the slowest clock frequency of the slave device.
+ SPI
+ ESP8266的HW SPI(HSPI)埠情況如下:
GPIO12 — MISO
GPIO13 — MOSI
GPIO14 — CLK
GPIO15 — CS(SS)
+ SPI
GPIO7 — MISO
GPIO8 — MOSI
GPIO6 — CLK
GPIO11 — CS(SS)
+ PWM Pins
The board has 4 channels .
PWM frequency range is adjustable from 100 Hz and 1 kHz.
+ SDIO Pins
ESP8266 features Secure Digital Input/Output Interface (SDIO) which is used to directly interface SD cards. 4-bit 25 MHz SDIO v1.1 and 4-bit 50 MHz SDIO v2.0 are supported.
+ RST : pulled high by default. When pulled low momentarily it will reset the ESP8266 system.
+ FLASH : If the pin is held low during power-up it will start bootloading!
+ EN (CH_PD=Chip Power Down) : The chip is enabled when pulled HIGH. When pulled LOW the chip works at minimum power.
+ WAKE : wake the ESP8266 from deep sleep, you will need to connect it to the RST pin.