machine/esp32s3: implement Pin.SetInterrupt for GPIO pin change interrupts

Add support for rising, falling, and toggle edge interrupts on all
ESP32-S3 GPIO pins (0-48). The GPIO peripheral interrupt is routed
to CPU interrupt 8 via the interrupt matrix. The ISR reads both
STATUS and STATUS1 registers to cover the full 49-pin range.

Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
deadprogram
2026-04-17 10:30:58 +02:00
committed by Ron Evans
parent 6426bf79b4
commit 4cbd34d32f
2 changed files with 98 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
//go:build xiao_esp32s3
package main
import "machine"
const (
button = machine.D1
buttonMode = machine.PinInput
buttonPinChange = machine.PinFalling
)