mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-09-22 06:32:10 +08:00
81 lines
1.6 KiB
Markdown
81 lines
1.6 KiB
Markdown
# _GPIO Example_
|
|
|
|
_This test code shows how to configure gpio and how to use gpio interrupt._
|
|
|
|
## GPIO functions
|
|
|
|
* GPIO15: output
|
|
* GPIO16: output
|
|
* GPIO4: input, pulled up, interrupt from rising edge and falling edge
|
|
* GPIO5: input, pulled up, interrupt from rising edge.
|
|
|
|
## How to use example
|
|
|
|
### Hardware Required
|
|
|
|
* Connect GPIO15 with GPIO4
|
|
* Connect GPIO16 with GPIO5
|
|
|
|
### Configure the project
|
|
|
|
```
|
|
make menuconfig
|
|
```
|
|
|
|
* Set serial port under Serial Flasher Options.
|
|
|
|
|
|
### Build and Flash
|
|
|
|
Build the project and flash it to the board, then run monitor tool to view serial output:
|
|
|
|
```
|
|
make -j4 flash monitor
|
|
```
|
|
|
|
(To exit the serial monitor, type ``Ctrl-]``.)
|
|
|
|
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
|
|
|
|
## Example Output
|
|
|
|
* Generate pulses on GPIO15/16, that triggers interrupt on GPIO4/5
|
|
|
|
```
|
|
I (0) gpio: GPIO[15]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
|
|
I (0) gpio: GPIO[16]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
|
|
I (0) gpio: GPIO[4]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:1
|
|
I (0) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:1
|
|
I (0) main: cnt: 0
|
|
|
|
I (1) main: cnt: 1
|
|
|
|
I (1) main: GPIO[4] intr, val: 1
|
|
|
|
I (1) main: GPIO[5] intr, val: 1
|
|
|
|
I (2) main: cnt: 2
|
|
|
|
I (2) main: GPIO[4] intr, val: 0
|
|
|
|
I (3) main: cnt: 3
|
|
|
|
I (3) main: GPIO[4] intr, val: 1
|
|
|
|
I (3) main: GPIO[5] intr, val: 1
|
|
|
|
I (4) main: cnt: 4
|
|
|
|
I (4) main: GPIO[4] intr, val: 0
|
|
|
|
I (5) main: cnt: 5
|
|
|
|
I (5) main: GPIO[4] intr, val: 1
|
|
|
|
I (5) main: GPIO[5] intr, val: 1
|
|
|
|
I (6) main: cnt: 6
|
|
|
|
I (6) main: GPIO[4] intr, val: 0
|
|
```
|