#include <Arduino.h>

#define GPIO_PIN                      4

#define GPIO_BASE                     0x60004000
#define GPIO_FUNCn_OUT_SEL_CFG_REG(n) (0x0554 + 4 * n)
#define gpioFunc4out                  *((volatile uint32_t*)(GPIO_BASE | GPIO_FUNCn_OUT_SEL_CFG_REG(GPIO_PIN)))
#define cpuGPIOOutReg                 *((volatile uint32_t*)(GPIO_BASE | GPIO_OUT_REG))
#define gpioEnableW1TCReg             *((volatile uint32_t*)(GPIO_BASE | GPIO_ENABLE_W1TC_REG))
#define gpioEnableW1TSReg             *((volatile uint32_t*)(GPIO_BASE | GPIO_ENABLE_W1TS_REG))

void setup() {
  gpioFunc4out = gpioFunc4out & 0xFFFFFF00;                                 // lösche Bits 0-7
  gpioFunc4out = gpioFunc4out | (GPIO_FUNC5_OEN_SEL | CPU_GPIO_OUT5_IDX);   // CPU_GPIO_OUT5 an GPIO PIN 4 binden
  cpuGPIOOutReg = cpuGPIOOutReg | (1 << GPIO_PIN);                          // Setze PIN als Output
}

void loop() {
  gpioEnableW1TSReg = gpioEnableW1TSReg | (1 << GPIO_PIN);   // Set
  delay(1000);
  gpioEnableW1TCReg = gpioEnableW1TCReg | (1 << GPIO_PIN);   // Clear
  delay(1000);
}
Loading
esp32-c3-devkitm-1