diff --git a/cores/rp2040/Arduino.h b/cores/rp2040/Arduino.h index f4f7331..b8122e2 100644 --- a/cores/rp2040/Arduino.h +++ b/cores/rp2040/Arduino.h @@ -65,9 +65,9 @@ void noInterrupts(); #define digitalPinToTimer(pin) (0) #define digitalPinToInterrupt(pin) (pin) #define NOT_AN_INTERRUPT (-1) -#define portOutputRegister(port) ((volatile uint32_t*) sio_hw->gpio_out) -#define portInputRegister(port) ((volatile uint32_t*) sio_hw->gpio_in) -#define portModeRegister(port) ((volatile uint32_t*) sio_hw->gpio_oe) +#define portOutputRegister(port) ((volatile uint32_t *)&(sio_hw->gpio_out)) +#define portInputRegister(port) ((volatile uint32_t *)&(sio_hw->gpio_in)) +#define portModeRegister(port) ((volatile uint32_t *)&(sio_hw->gpio_oe)) #define digitalWriteFast(pin, val) (val ? sio_hw->gpio_set = (1 << pin) : sio_hw->gpio_clr = (1 << pin)) #define digitalReadFast(pin) ((1 << pin) & sio_hw->gpio_in) #define sei() interrupts()