Wie man einen 2,048MHz-Takt an einem beliebigen Pin auf dem ESP32 ausgibt
English
Deutsch
Sie können den LEDC-Timer (typischerweise für PWM verwendet) verwenden, um einen 50%-Tastverhältnis-Takt mit 3,3V-P-P-Amplitude an jedem ausgabe-fähigen GPIO-Pin auszugeben.
Zuerst,
ledc_clock_setup.cpp
#include <driver/ledc.h>dann den Timer einrichten. Sie müssen dies nur einmal beim Start tun, kein Code in Ihrer Loop-Funktion ist erforderlich.
ledc_clock_setup.cpp
/**
* 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);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