#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_rom_sys.h"
int SQUARE_WAVE_GPIO = 25;
#define WAVE_FREQ_HZ 10
void app_main(void)
{
gpio_config_t io_conf = {
.pin_bit_mask = 1ULL << SQUARE_WAVE_GPIO,
.mode = GPIO_MODE_OUTPUT,
.pull_up_en = GPIO_PULLUP_DISABLE,
.pull_down_en = GPIO_PULLDOWN_DISABLE,
.intr_type = GPIO_INTR_DISABLE
};
gpio_config(&io_conf);
int delay_us = 1000000 / (WAVE_FREQ_HZ * 2); // Half-period in µs
while (1) {
gpio_set_level(SQUARE_WAVE_GPIO, 1);
esp_rom_delay_us(delay_us);
gpio_set_level(SQUARE_WAVE_GPIO, 0);
esp_rom_delay_us(delay_us);
}
}