【ESP-IDF】使用SNTP进行时间同步

本文介绍了如何在ESP32单片机上利用ESP-IDF框架,通过SNTP协议实现系统时间同步。通过官方文档和示例代码,详细讲解了时间同步的过程和步骤。
/**
 * @description: sntp初始化
 * @return {*}
 * @note: 参考官方博客
 */
static void esp_initialize_sntp(void)
{
   
   
    ESP_LOGI(TAG, "Initializing SNTP");
    sntp_setoperatingmode(SNTP_OPMODE_POLL);
    sntp_setservername(0, "ntp1.aliyun.com");
    sntp_setservername(1, "210.72.145.44");		// 国家授时中心服务器 IP 地址
    sntp_setservername(2, "1.cn.pool.ntp.org");        

    sntp_init();
}

/**
 * @description: 获取时间函数,应用层直接调用即可
 * @return {*}
 * @note: 参考官方
1/9] Performing build step for 'bootloader' [1/1] 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. [4/9] Building CXX object esp-idf/OLED/CMakeFiles/__idf_OLED.dir/OLED.C.obj FAILED: esp-idf/OLED/CMakeFiles/__idf_OLED.dir/OLED.C.obj C:\esp32\Espressif\tools\tools\xtensa-esp-elf\esp-14.2.0_20241119\xtensa-esp-elf\bin\xtensa-esp32s3-elf-g++.exe -DESP_PLATFORM -DIDF_VER=\"v5.5.1-dirty\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -ID:/ESP32/1/build/config -ID:/ESP32/1/components/OLED -IC:/esp32/v5.5.1/esp-idf/components/newlib/platform_include -IC:/esp32/v5.5.1/esp-idf/components/freertos/config/include -IC:/esp32/v5.5.1/esp-idf/components/freertos/config/include/freertos -IC:/esp32/v5.5.1/esp-idf/components/freertos/config/xtensa/include -IC:/esp32/v5.5.1/esp-idf/components/freertos/FreeRTOS-Kernel/include -IC:/esp32/v5.5.1/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include -IC:/esp32/v5.5.1/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos -IC:/esp32/v5.5.1/esp-idf/components/freertos/esp_additions/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/include/soc -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/include/soc/esp32s3 -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/dma/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/ldo/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/debug_probe/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/mspi_timing_tuning/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/power_supply/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/port/esp32s3/. -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/port/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/mspi_timing_tuning/port/esp32s3/. -IC:/esp32/v5.5.1/esp-idf/components/esp_hw_support/mspi_timing_tuning/port/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/heap/include -IC:/esp32/v5.5.1/esp-idf/components/heap/tlsf -IC:/esp32/v5.5.1/esp-idf/components/log/include -IC:/esp32/v5.5.1/esp-idf/components/soc/include -IC:/esp32/v5.5.1/esp-idf/components/soc/esp32s3 -IC:/esp32/v5.5.1/esp-idf/components/soc/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/soc/esp32s3/register -IC:/esp32/v5.5.1/esp-idf/components/hal/platform_port/include -IC:/esp32/v5.5.1/esp-idf/components/hal/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/hal/include -IC:/esp32/v5.5.1/esp-idf/components/esp_rom/include -IC:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3/include/esp32s3 -IC:/esp32/v5.5.1/esp-idf/components/esp_rom/esp32s3 -IC:/esp32/v5.5.1/esp-idf/components/esp_common/include -IC:/esp32/v5.5.1/esp-idf/components/esp_system/include -IC:/esp32/v5.5.1/esp-idf/components/esp_system/port/soc -IC:/esp32/v5.5.1/esp-idf/components/esp_system/port/include/private -IC:/esp32/v5.5.1/esp-idf/components/xtensa/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/xtensa/include -IC:/esp32/v5.5.1/esp-idf/components/xtensa/deprecated_include -IC:/esp32/v5.5.1/esp-idf/components/lwip/include -IC:/esp32/v5.5.1/esp-idf/components/lwip/include/apps -IC:/esp32/v5.5.1/esp-idf/components/lwip/include/apps/sntp -IC:/esp32/v5.5.1/esp-idf/components/lwip/lwip/src/include -IC:/esp32/v5.5.1/esp-idf/components/lwip/port/include -IC:/esp32/v5.5.1/esp-idf/components/lwip/port/freertos/include -IC:/esp32/v5.5.1/esp-idf/components/lwip/port/esp32xx/include -IC:/esp32/v5.5.1/esp-idf/components/lwip/port/esp32xx/include/arch -IC:/esp32/v5.5.1/esp-idf/components/lwip/port/esp32xx/include/sys -IC:/esp32/v5.5.1/esp-idf/components/driver/deprecated -IC:/esp32/v5.5.1/esp-idf/components/driver/i2c/include -IC:/esp32/v5.5.1/esp-idf/components/driver/touch_sensor/include -IC:/esp32/v5.5.1/esp-idf/components/driver/twai/include -IC:/esp32/v5.5.1/esp-idf/components/driver/touch_sensor/esp32s3/include -IC:/esp32/v5.5.1/esp-idf/components/esp_pm/include -IC:/esp32/v5.5.1/esp-idf/components/esp_ringbuf/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_gpio/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_pcnt/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_gptimer/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_spi/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_mcpwm/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_ana_cmpr/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_i2s/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_sdmmc/include -IC:/esp32/v5.5.1/esp-idf/components/sdmmc/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_sdspi/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_sdio/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_dac/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_rmt/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_tsens/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_sdm/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_i2c/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_uart/include -IC:/esp32/v5.5.1/esp-idf/components/vfs/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_ledc/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_parlio/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_usb_serial_jtag/include -IC:/esp32/v5.5.1/esp-idf/components/esp_driver_twai/include -mlongcalls -fno-builtin-memcpy -fno-builtin-memset -fno-builtin-bzero -fno-builtin-stpcpy -fno-builtin-strncpy -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -O0 -fmacro-prefix-map=D:/ESP32/1=. -fmacro-prefix-map=C:/esp32/v5.5.1/esp-idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu++2b -fno-exceptions -fno-rtti -fuse-cxa-atexit -MD -MT esp-idf/OLED/CMakeFiles/__idf_OLED.dir/OLED.C.obj -MF esp-idf\OLED\CMakeFiles\__idf_OLED.dir\OLED.C.obj.d -o esp-idf/OLED/CMakeFiles/__idf_OLED.dir/OLED.C.obj -c D:/ESP32/1/components/OLED/OLED.C D:/ESP32/1/components/OLED/OLED.C: In function 'void I2C_Init()': D:/ESP32/1/components/OLED/OLED.C:104:10: error: request for member 'use_async' in 'true', which is of non-class type 'bool' 104 | .use_async = false } // 鍚敤鍐呴儴涓婃媺鐢甸樆锛堟棤澶栭儴涓婃媺鏃跺繀椤诲紑鍚級 | ^~~~~~~~~ D:/ESP32/1/components/OLED/OLED.C:115:5: warning: missing initializer for member 'i2c_device_config_t::scl_wait_us' [-Wmissing-field-initializers] 115 | }; | ^ ninja: build stopped: subcommand failed.
最新发布
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值