#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
esp32-c3-devkitm-1