You can use the LEDC timer (typically used for PWM) to output a 50% duty cycle clock with 3.3V P-P amplitude on any output-capable GPIO pin.
First,
#include <driver/ledc.h>
then setup the timer. You only need to do this once on startup, no code in your loop function is required.
/** * Setup 2.048MHz clock output on GPIO33 */ ledc_timer_config_t ledc_timer = { .speed_mode = LEDC_HIGH_SPEED_MODE, .bit_num = LEDC_TIMER_2_BIT, .timer_num = LEDC_TIMER_0, .freq_hz = 2048000 }; ledc_channel_config_t ledc_channel = { .gpio_num = GPIO_NUM_33, .speed_mode = LEDC_HIGH_SPEED_MODE, .channel = LEDC_CHANNEL_0, .timer_sel = LEDC_TIMER_0, .duty = 2 }; ledc_timer_config(&ledc_timer); ledc_channel_config(&ledc_channel);