ESP32S3-Cam实践(OLED显示)

0.参考

        以ESP-IDF v5.5.0 Examples中的I2C OLED example为工程进行实践。

1.挂载OLED(128X64,SSD1309,I2C)

        在 SDK Configuration Editor中确认一下配置、确认I2C引脚。

2.Build,Flash and Monitor

监视器输出 & OLED屏幕输出,GoodGood    

I (289) main_task: Started on CPU0
I (299) main_task: Calling app_main()
I (299) example: Initialize I2C bus
I (299) example: Install panel IO
I (299) example: Install SSD1306 panel driver
I (409) example: Initialize LVGL
I (409) example: Allocate separate LVGL draw buffers
I (409) example: Register io panel event callback for LVGL flush ready notification
I (409) example: Use esp_timer as LVGL tick timer
I (419) example: Create LVGL task
I (419) example: Starting LVGL task
I (429) example: Display LVGL Scroll Text
I (449) main_task: Returned from app_main()
[977/1082] Building CXX object esp-idf/OLED/CMakeFiles/__idf_OLED.dir/OLED.C.obj D:/ESP32/1/components/OLED/OLED.C: In function &#39;void I2C_Init()&#39;: D:/ESP32/1/components/OLED/OLED.C:103:5: warning: missing initializer for member &#39;i2c_master_bus_config_t::intr_priority&#39; [-Wmissing-field-initializers] 103 | }; | ^ D:/ESP32/1/components/OLED/OLED.C:103:5: warning: missing initializer for member &#39;i2c_master_bus_config_t::trans_queue_depth&#39; [-Wmissing-field-initializers] D:/ESP32/1/components/OLED/OLED.C:103:5: warning: missing initializer for member &#39;i2c_master_bus_config_t::<unnamed struct>::allow_pd&#39; [-Wmissing-field-initializers] D:/ESP32/1/components/OLED/OLED.C:115:5: warning: missing initializer for member &#39;i2c_device_config_t::scl_wait_us&#39; [-Wmissing-field-initializers] 115 | }; | ^ [1074/1082] Performing configure step for &#39;bootloader&#39; -- Found Git: C:/esp32/Espressif/tools/tools/idf-git/2.39.2/cmd/git.exe (found version "2.39.2.windows.1") -- Minimal build - OFF -- The C compiler identification is GNU 14.2.0 -- The CXX compiler identification is GNU 14.2.0 -- The ASM compiler identification is GNU -- Found assembler: C:/esp32/Espressif/tools/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc.exe -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/esp32/Espressif/tools/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/esp32/Espressif/tools/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building ESP-IDF components for target esp32s3 -- Project sdkconfig file D:/ESP32/1/sdkconfig -- Compiler supported targets: xtensa-esp-elf -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/soc/esp32s3/ld/esp32s3.peripherals.ld -- Bootloader project name: "bootloader" version: 1 -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.api.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.bt_funcs.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.libgcc.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.wdt.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.version.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.libc.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/ld/esp32s3.rom.newlib.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld -- Adding linker script C:/esp32/v5.5.1/esp-idf/components/bootloader/subproject/main/ld/esp32s3/bootloader.rom.ld -- Components: bootloader bootloader_support efuse esp_app_format esp_bootloader_format esp_common esp_hw_support esp_rom esp_security esp_system esptool_py freertos hal log main micro-ecc newlib partition_table soc spi_flash xtensa -- Component paths: C:/esp32/v5.5.1/esp-idf/components/bootloader C:/esp32/v5.5.1/esp-idf/components/bootloader_support C:/esp32/v5.5.1/esp-idf/components/efuse C:/esp32/v5.5.1/esp-idf/components/esp_app_format C:/esp32/v5.5.1/esp-idf/components/esp_bootloader_format C:/esp32/v5.5.1/esp-idf/components/esp_common C:/esp32/v5.5.1/esp-idf/components/esp_hw_support C:/esp32/v5.5.1/esp-idf/components/esp_rom C:/esp32/v5.5.1/esp-idf/components/esp_security C:/esp32/v5.5.1/esp-idf/components/esp_system C:/esp32/v5.5.1/esp-idf/components/esptool_py C:/esp32/v5.5.1/esp-idf/components/freertos C:/esp32/v5.5.1/esp-idf/components/hal C:/esp32/v5.5.1/esp-idf/components/log C:/esp32/v5.5.1/esp-idf/components/bootloader/subproject/main C:/esp32/v5.5.1/esp-idf/components/bootloader/subproject/components/micro-ecc C:/esp32/v5.5.1/esp-idf/components/newlib C:/esp32/v5.5.1/esp-idf/components/partition_table C:/esp32/v5.5.1/esp-idf/components/soc C:/esp32/v5.5.1/esp-idf/components/spi_flash C:/esp32/v5.5.1/esp-idf/components/xtensa -- Configuring done (18.4s) -- Generating done (0.3s) -- Build files have been written to: D:/ESP32/1/build/bootloader [1075/1082] Performing build step for &#39;bootloader&#39; [1/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/util.c.obj [2/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/util.c.obj [3/123] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_longjmp.S.obj [4/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj [5/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/log_lock.c.obj [6/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_timestamp_common.c.obj [7/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_format_text.c.obj [8/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_print.c.obj [9/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj [10/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log.c.obj [11/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/log_timestamp.c.obj [12/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_gpio.c.obj [13/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj [14/123] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/buffer/log_buffers.c.obj [15/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj [16/123] Building ASM object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_cache_writeback_esp32s3.S.obj [17/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj [18/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj [19/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj [20/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_print.c.obj [21/123] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_cache_esp32s2_esp32s3.c.obj [22/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj [23/123] Linking C static library esp-idf\log\liblog.a [24/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/cpu_region_protect.c.obj [25/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj [26/123] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj [27/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/esp_cpu_intr.c.obj [28/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/chip_info.c.obj [29/123] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj [30/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_table.c.obj [31/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_rtc_calib.c.obj [32/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_clk_init.c.obj [33/123] Linking C static library esp-idf\esp_rom\libesp_rom.a [34/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_fields.c.obj [35/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_sleep.c.obj [36/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_time.c.obj [37/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32s3/esp_efuse_utility.c.obj [38/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj [39/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_init.c.obj [40/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj [41/123] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32s3/rtc_clk.c.obj [42/123] Linking C static library esp-idf\esp_common\libesp_common.a [43/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj [44/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj [45/123] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj [46/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj [47/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj [48/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj [49/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32s3.c.obj [50/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj [51/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj [52/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj [53/123] Linking C static library esp-idf\esp_hw_support\libesp_hw_support.a [54/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj [55/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj [56/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj [57/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_sha.c.obj [58/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32s3.c.obj [59/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj [60/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj [61/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_soc.c.obj [62/123] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/hal_utils.c.obj [63/123] Building C object esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj [64/123] Linking C static library esp-idf\esp_system\libesp_system.a [65/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj [66/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj [67/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj [68/123] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj [69/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/interrupts.c.obj [70/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj [71/123] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj [72/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj [73/123] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj [74/123] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32s3/efuse_hal.c.obj [75/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj [76/123] Linking C static library esp-idf\efuse\libefuse.a [77/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj [78/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/gpio_periph.c.obj [79/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/dedic_gpio_periph.c.obj [80/123] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj [81/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/uart_periph.c.obj [82/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/adc_periph.c.obj [83/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/gdma_periph.c.obj [84/123] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj [85/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj [86/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/sdm_periph.c.obj [87/123] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32s3/bootloader_esp32s3.c.obj [88/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/rmt_periph.c.obj [89/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/ledc_periph.c.obj [90/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/spi_periph.c.obj [91/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/pcnt_periph.c.obj [92/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/touch_sensor_periph.c.obj [93/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/i2s_periph.c.obj [94/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/lcd_periph.c.obj [95/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/twai_periph.c.obj [96/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/i2c_periph.c.obj [97/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/temperature_sensor_periph.c.obj [98/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/usb_dwc_periph.c.obj [99/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/timer_periph.c.obj [100/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/mcpwm_periph.c.obj [101/123] Generating project_elf_src_esp32s3.c [102/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/mpi_periph.c.obj [103/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/sdmmc_periph.c.obj [104/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/wdt_periph.c.obj [105/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/cam_periph.c.obj [106/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/power_supply_periph.c.obj [107/123] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj [108/123] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32s3.c.obj [109/123] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32s3/rtc_io_periph.c.obj [110/123] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/xt_trax.c.obj [111/123] Linking C static library esp-idf\bootloader_support\libbootloader_support.a [112/123] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj [113/123] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj [114/123] Linking C static library esp-idf\esp_bootloader_format\libesp_bootloader_format.a [115/123] Linking C static library esp-idf\spi_flash\libspi_flash.a [116/123] Linking C static library esp-idf\hal\libhal.a [117/123] Linking C static library esp-idf\micro-ecc\libmicro-ecc.a [118/123] Linking C static library esp-idf\soc\libsoc.a [119/123] Linking C static library esp-idf\xtensa\libxtensa.a [120/123] Linking C static library esp-idf\main\libmain.a [121/123] Linking C executable bootloader.elf [122/123] Generating binary image from built executable esptool.py v4.10.0 Creating esp32s3 image... Merged 2 ELF sections Successfully created esp32s3 image. Generated D:/ESP32/1/build/bootloader/bootloader.bin [123/123] C:\WINDOWS\system32\cmd.exe /C "cd /D D:\ESP32\1\build\bootloader\esp-idf\esptool_py && c:\esp32\Espressif\tools\python_env\idf5.5_py3.11_env\Scripts\python.exe C:/esp32/v5.5.1/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 D:/ESP32/1/build/bootloader/bootloader.bin" Bootloader binary size 0x5240 bytes. 0x2dc0 bytes (36%) free. [1080/1082] Linking CXX executable 1.elf FAILED: 1.elf C:\WINDOWS\system32\cmd.exe /C "cd . && C:\esp32\Espressif\tools\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32s3-elf-g++.exe -mlongcalls -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -nostartfiles -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32S3=0 -Wl,--Map=D:/ESP32/1/build/1.map -Wl,--no-warn-rwx-segments -Wl,--orphan-handling=warn -fno-rtti -fno-lto -Wl,--gc-sections -Wl,--warn-common -T esp32s3.peripherals.ld -T esp32s3.rom.ld -T esp32s3.rom.api.ld -T esp32s3.rom.bt_funcs.ld -T esp32s3.rom.libgcc.ld -T esp32s3.rom.wdt.ld -T esp32s3.rom.version.ld -T esp32s3.rom.ble_master.ld -T esp32s3.rom.ble_50.ld -T esp32s3.rom.ble_smp.ld -T esp32s3.rom.ble_dtm.ld -T esp32s3.rom.ble_test.ld -T esp32s3.rom.ble_scan.ld -T esp32s3.rom.libc.ld -T esp32s3.rom.newlib.ld -T memory.ld -T sections.ld @CMakeFiles\1.elf.rsp -o 1.elf && cd ." C:/esp32/Espressif/tools/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: esp-idf/main/libmain.a(main.c.obj):(.literal.app_main+0x0): undefined reference to `OLED_Init&#39; C:/esp32/Espressif/tools/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld.exe: esp-idf/main/libmain.a(main.c.obj): in function `app_main&#39;: D:/ESP32/1/main/main.c:13:(.text.app_main+0x8): undefined reference to `OLED_Init&#39; collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed.
11-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值