// Define the base address for GPIO registers
#define GPIO_BASE 0x40040000
// Define offsets for GPIO registers
#define GPIO_OUTSET_OFFSET 0x04
#define GPIO_OUTCLR_OFFSET 0x08
#define GPIO_OUTXOR_OFFSET 0x0C
#define GPIO_OUT_OFFSET 0x10
// Define GPIO pin 5 (GP5)
#define PIN_5 (1 << 5)
// Pointer to access GPIO registers
volatile unsigned int *gpio_reg = (unsigned int *)GPIO_BASE;
void setup() {
// Set pin 5 as output
gpio_reg[GPIO_OUT_OFFSET / 4] |= PIN_5;
// Initialize serial communication
Serial1.begin(115200);
Serial1.println("Hello, Raspberry Pi Pico W!");
}
void loop() {
// Toggle pin 5
gpio_reg[GPIO_OUTCLR_OFFSET / 4] = PIN_5; // Turn LED on
delay(1000); // Wait for 1 second
gpio_reg[GPIO_OUTSET_OFFSET / 4] = PIN_5; // Turn LED off
delay(1000); // Wait for 1 second
}