C:/Users/Galinka/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Galinka\AppData\Local\arduino\sketches\CD8AB3A21A9E273C9FC62130A5A9B913\core\core.a(main.cpp.o):(.literal._Z8loopTaskPv+0xc): undefined reference to setup()' C:/Users/Galinka/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Galinka\AppData\Local\arduino\sketches\CD8AB3A21A9E273C9FC62130A5A9B913\core\core.a(main.cpp.o):(.literal._Z8loopTaskPv+0x10): undefined reference to loop()’
C:/Users/Galinka/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Galinka\AppData\Local\arduino\sketches\CD8AB3A21A9E273C9FC62130A5A9B913\core\core.a(main.cpp.o): in function loopTask(void*)': C:\Users\Galinka\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.3\cores\esp32/main.cpp:55:(.text._Z8loopTaskPv+0x1b): undefined reference to setup()’
C:/Users/Galinka/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Galinka\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.3\cores\esp32/main.cpp:64:(.text._Z8loopTaskPv+0x34): undefined reference to `loop()’
collect2.exe: error: ld returned 1 exit status
exit status 1
Вот setup и loop и ошибка #include <driver/ledc.h>
// Настройка PWM
void setupPWM() {
// Конфигурация таймера
ledc_timer_config_t timerConfig = {
.speed_mode = LEDC_LOW_SPEED_MODE, // Режим работы (низкая скорость)
.duty_resolution = LEDC_TIMER_10_BIT, // Разрешение ШИМ (10 бит = 0-1023)
.timer_num = LEDC_TIMER_0, // Номер таймера
.freq_hz = 10000, // Частота PWM (10 кГц)
.clk_cfg = LEDC_AUTO_CLK // Автоматический выбор источника тактирования
};
ledc_timer_config(&timerConfig);
// Конфигурация канала 1 (первый меандр)
ledc_channel_config_t channelConfig1 = {
.gpio_num = 18, // GPIO для первого меандра (например, GPIO18)
.speed_mode = LEDC_LOW_SPEED_MODE,
.channel = LEDC_CHANNEL_0, // Номер канала
.timer_sel = LEDC_TIMER_0, // Связать с таймером 0
.duty = 512, // Коэффициент заполнения 50% (512 для 10 бит)
.hpoint = 0 // Начальная точка (0 для начала периода)
};
ledc_channel_config(&channelConfig1);
// Конфигурация канала 2 (второй меандр со сдвигом фазы)
ledc_channel_config_t channelConfig2 = {
.gpio_num = 19, // GPIO для второго меандра (например, GPIO19)
.speed_mode = LEDC_LOW_SPEED_MODE,
.channel = LEDC_CHANNEL_1, // Номер канала
.timer_sel = LEDC_TIMER_0, // Связать с таймером 0
.duty = 512, // Коэффициент заполнения 50% (512 для 10 бит)
.hpoint = 256 // Сдвиг фазы на 25% периода (256 для 10 бит)
};
ledc_channel_config(&channelConfig2);
}
void loop() {
// put your main code here, to run repeatedly:
}
C:/Users/Galinka/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Galinka\AppData\Local\arduino\cores\96ed966dff11f17f090c6b6aaac3e37c\core.a(main.cpp.o):(.literal._Z8loopTaskPv+0xc): undefined reference to setup()' C:/Users/Galinka/AppData/Local/Arduino15/packages/esp32/tools/esp-x32/2405/bin/../lib/gcc/xtensa-esp-elf/13.2.0/../../../../xtensa-esp-elf/bin/ld.exe: C:\Users\Galinka\AppData\Local\arduino\cores\96ed966dff11f17f090c6b6aaac3e37c\core.a(main.cpp.o): in function loopTask(void*)‘:
C:\Users\Galinka\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.3\cores\esp32/main.cpp:55:(.text._Z8loopTaskPv+0x1b): undefined reference to `setup()’
collect2.exe: error: ld returned 1 exit status
exit status 1
@gl2, пожалуйста, никогда не приводите картинкой то, что можно вставить текстом - код, сообщения об ошибках и т.д. И научитесь вставлять код! Во втором сообщении всё красиво, а в 10 опять каша! Сами не видите что ли?
Хорошо. В коде появилась функция loop(), но по-прежнему отсутствует функция setup(). По смыслу, вероятно Вашу setupPWM() можно в setup() переименовать. Тогда всё будет “по Ардуински”. Конкретно эта ошибка уйдёт.
Вы отличаете друг от друга слова “setupPWM” и “setup”? Внимательно посмотрите! Подсказка: первое на три буквы длиннее второго. Вот Вас система на три буквы и посылает. Нет у Вас никакого setup, а надо, о чём я Вам уже говорил.
Кстати, будете так вставлять код, мы тоже будем посылать Вас на такое же количество букв, не обижайтесь и не говорите, что Вас не предупреждали.
А грубить не надо, никто ВАС не заставлял заходит сюда и делать комментарии не на тему, посматрите как другие пытаются помочь , например сообщение #16, весь лишних слов.