NodeMCU开发板详解
NodeMCU開發板詳解
- 數字輸入輸出引腳(GPIO)
如下圖所示,ESP8266芯片四周分布很多引腳。這些引腳大部分可用作輸入輸出使用。這些用作輸入輸出的引腳統稱為GPIO。
ESP8266芯片的GPIO引腳可用作數字輸入來讀取引腳電平,也可用作數字輸出向外圍電路發出控制信號。在這一點上,GPIO引腳與Arduino開發板的引腳功能十分類似。(請注意,我在這里用的是類似而不是相同。因為GPIO引腳與Arduino開發板引腳還是存在著很多不同的。)
當引腳以數字輸出模式工作時,低電平是0V (灌電流),高電平是3.3V (拉電流)。
請注意:ESP8266芯片與Arduino Uno/Mega/Nano等開發板的引腳電平電壓有所區別。Arduino開發板的高電平是+5V,低電平是0V。
- GPIO編號與NodeMCU開發板引腳名的區別
請留意:在很多介紹ESP8266以及NodeMCU的資料里會出現兩種引腳命名方法。一種是GPIO編號,一種是NodeMCU引腳名。請注意這兩者是不同的,請千萬不要混淆。
GPIO編號指的是ESP8266芯片的引腳編號如下圖所示:
而NodeMCU引腳名指的是電路板上印刷的引腳名稱。如下圖所示
- ESP8266 GPIO編號與NodeMCU開發板引腳名的對應關系
- 可用引腳
ESP8266芯片有17個GPIO引腳(GPIO0~GPIO16)。這些引腳中的GPIO6~GPIO 11被用于連接開發板的閃存(Flash Memory)。如果在實驗電路中使用GPIO6~GPIO11,NodeMCU開發板將無法正常工作。因此建議不要使用GPIO6~GPIO 11。
- 電壓電流限制
NodeMCU開發板引腳的輸入輸出電壓限制是3.3 V。如果向引腳施加3.6V以上的電壓就有可能對芯片電路造成損壞。同時請注意,這些引腳的最大輸出電流是12mA。
由于NodeMCU開發板的引腳允許電壓和電流都是低于Arduino開發板的引腳,所以如您想要將NodeMCU與Arduino引腳相互連接,請特別注意這兩個開發板的引腳電壓和電流的區別。如果操作不當可能會損壞NodeMCU開發板。
- 特殊引腳情況說明
GPIO2引腳 在NodeMCU開發板啟動時是不能連接低電平的。
GPIO15引腳在開發板運行中一直保持低電平狀態。因此請不要使用GPIO15引腳來讀取開關狀態或進行I2C通訊。
GPIO0引腳在開發板運行中需要一直保持高電平狀態。否則ESP8266將進入程序上傳工作模式也就無法正常工作了。您無需對GPIO0引腳進行額外操作,因為NodeMCU的內置電路可以確保GPIO0引腳在工作時連接高電平而在上傳程序時連接低電平。
- 上拉電阻/下拉電阻
GPIO 0-15引腳都配有內置上拉電阻。這一點與Arduino十分類似。GPIO16 引腳配有內置下拉電阻。
- 模擬輸入
ESP8266 只有一個模擬輸入引腳(該引腳通過模擬-數字轉換將引腳上的模擬電壓數值轉化為數字量)。此引腳可以讀取的模擬電壓值為 0 – 1.0V。請注意:ESP8266 芯片模擬輸入引腳連接在1.0V以上電壓可能損壞ESP8266芯片。
以上所描述的是針對ESP8266芯片的引腳。而對于NodeMCU開發板引腳,情況就不同了。
NodeMCU開發板配有降壓電路。可以用NodeMCU開發板的模擬輸入引腳讀取0-3.3V的模擬電壓信號。
- 通訊
ESP8266有2個硬件串行端口(UART)。
串行端口0(UART0)使用GPIO1和GPIO3引腳。其中GPIO1引腳是TX0,GPIO3是RX0。
串行端口1(UART1)使用GPIO2和GPIO8引腳。其中GPIO2引腳是TX1,GPIO8是RX1。請注意,由于GPIO8被用于連接閃存芯片,串行端口1只能使用GPIO2來向外發送串行數據。
- I2C
ESP8266只有軟件模擬的I2C端口,沒有硬件I2C端口。也就是說我們可以使用任意的兩個GPIO引腳通過軟件模擬來實現I2C通訊。ESP8266的數據表(datasheet)中,GPIO2標注為SDA,GPIO14標注為SCL。
- SPI
ESP8266的SPI端口情況如下:
GPIO14 — CLK
GPIO12 — MISO
GPIO13 — MOSI
GPIO 15 — CS(SS)
- ESP8266引腳功能一覽
總結
以上是生活随笔為你收集整理的NodeMCU开发板详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海洋大学计算机分数线,江苏海洋大学202
- 下一篇: 《Python语言程序设计基础》——读书