Tham khảo sơ bộ về ESP8266: Bạn nên sử dụng chân GPIO nào?
ESP8266 MODULE
Label | GPIO | Input | Output | Notes |
D0 | GPIO16 | no interrupt | no PWM or I2C support | HIGH at boot used to wake up from deep sleep |
D1 | GPIO5 | OK | OK | often used as SCL (I2C) |
D2 | GPIO4 | OK | OK | often used as SDA (I2C) |
D3 | GPIO0 | pulled up | OK | connected to FLASH button, boot fails if pulled LOW |
D4 | GPIO2 | pulled up | 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 | pulled to GND | OK | SPI (CS) Boot fails if pulled HIGH |
RX | GPIO3 | OK | RX pin | HIGH at boot |
TX | GPIO1 | TX pin | OK | HIGH at boot debug output at boot, boot fails if pulled LOW |
A0 | ADC0 | Analog Input | X |
Các GPIO được kết nối với Chip Flash
GPIO6 đến GPIO11 thường được kết nối với chip flash trong bo mạch ESP8266. Vì vậy, những chân này không được khuyến khích sử dụng.
Ghim được sử dụng trong quá trình khởi động
ESP8266 có thể bị ngăn không cho khởi động nếu một số chân được kéo THẤP hoặc CAO. Danh sách sau đây cho thấy trạng thái của các chân sau trên BOOT:
- GPIO16: pin is high at BOOT
- GPIO0: boot failure if pulled LOW
- GPIO2: pin is high on BOOT, boot failure if pulled LOW
- GPIO15: boot failure if pulled HIGH
- GPIO3: pin is high at BOOT
- GPIO1: pin is high at BOOT, boot failure if pulled LOW
- GPIO10: pin is high at BOOT
- GPIO9: pin is high at BOOT
Ghim CAO khi khởi động
Có một số chân xuất ra tín hiệu 3.3V khi ESP8266 khởi động. Điều này có thể có vấn đề nếu bạn có rơ le hoặc thiết bị ngoại vi khác được kết nối với các GPIO đó. Các GPIO sau xuất tín hiệu CAO khi khởi động:
GPIO16
GPIO3
GPIO1
GPIO10
GPIO9
Analog Input
ESP8266 chỉ hỗ trợ đọc analog trong một GPIO. GPIO đó được gọi là ADC0 và nó thường được đánh dấu trên màn hình lụa là A0.
Điện áp đầu vào tối đa của chân ADC0 là 0 đến 1V nếu bạn đang sử dụng chip trần ESP8266. Nếu bạn đang sử dụng bảng phát triển như bộ ESP8266 12-E NodeMCU, thì dải điện áp đầu vào là 0 đến 3,3V vì các bảng này chứa bộ chia điện áp bên trong.
On-board LED && RST Pin
GPIO16
GPIO16 có thể được sử dụng để đánh thức ESP8266 khỏi giấc ngủ sâu. Để đánh thức ESP8266 khỏi chế độ ngủ sâu, GPIO16 phải được kết nối với chân RST. Tìm hiểu cách đặt ESP8266 vào chế độ ngủ sâu:
I2C
ESP8266 không có chân I2C phần cứng, nhưng nó có thể được triển khai trong phần mềm. Vì vậy, bạn có thể sử dụng bất kỳ GPIO nào làm I2C. Thông thường, các GPIO sau được sử dụng làm chân I2C:
- GPIO5: SCL
- GPIO4: SDA
SPI
Các chân được sử dụng làm SPI trong ESP8266 là:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
PWM Pins
ESP8266 cho phép PWM phần mềm ở tất cả các chân I / O: GPIO0 đến GPIO16. Tín hiệu PWM trên ESP8266 có độ phân giải 10-bit. Tìm hiểu cách sử dụng các chân PWM của ESP8266:
Interrupt Pins
ESP8266 hỗ trợ ngắt trong bất kỳ GPIO nào, ngoại trừ GPIO16.