如何在 ESP32 的任何引脚上输出 2.048MHz 时钟
你可以使用 LEDC 定时器(通常用于 PWM)在任何具有输出能力的 GPIO 引脚上输出 50% 占空比、3.3V P-P 幅度的时钟。
首先,
ledc_clock_setup.cpp
#include <driver/ledc.h>然后设置定时器。你只需在启动时执行一次,loop 函数中不需要代码。
ledc_clock_setup.cpp
/**
* 在 GPIO33 上设置 2.048MHz 时钟输出
*/
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);Check out similar posts by category:
ESP8266/ESP32
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow