Berikut ini akan ditujukkan cara membaca Nilai GPIO pada ESP32 tanpa fungsi digitalRead(). Membaca GPIO dengan digitalRead() praktis secara programming, namun relatif lambat.
#include "soc/gpio_struct.h" // Include the GPIO register definitions
//##include "soc/io_mux_reg.h" // Include the IO_MUX register definitions
// Define the GPIO pin number
const int gpioPin = 18;
void setup() {
Serial.begin(115200);
pinMode(gpioPin, INPUT_PULLUP); // Enable pull-up
}
void loop() {
// Read the GPIO input register
bool gpio18_state = (GPIO.in >> 18) & 0x01;
Serial.print("GPIO 18 state: ");
Serial.println(gpio18_state);
delay(100);
}