请问时间校准函数是哪个?我设备里面没有网络,无法NTP校时

so_zhou
Posts: 3
Joined: Wed Jan 06, 2016 5:22 pm

请问时间校准函数是哪个?我设备里面没有网络,无法NTP校时

Postby so_zhou » Sat Mar 19, 2022 10:52 am

请问时间校准函数是哪个?

我设备里面没有网络,无法通过NTP校时,只能通过蓝牙和串口将时间传输到ESP32。

没找到时间设置的相关函数。

谢谢

DJZ1992
Posts: 72
Joined: Fri Jul 09, 2021 9:15 am

Re: 请问时间校准函数是哪个?我设备里面没有网络,无法NTP校时

Postby DJZ1992 » Tue Mar 22, 2022 4:51 am

给你点参考,这是我写的通过us来设置时间,和获取us为单位的时间。

/*
* 手动设置SNTP时间
*/
void sntp_time_set_us(int64_t time_us)
{
struct timeval time= {0};
time.tv_sec = time_us / 1000000L; //取秒
time.tv_usec = time_us - time.tv_sec * 1000000L; //微秒
ESP_LOGI(TAG, "set sntp time us : %lld", time_us);
sntp_sync_time(&time);
}


/*
* 获取SNTP时间,秒
*/
int64_t sntp_time_get_us(void)
{
struct timeval tv_now;
gettimeofday(&tv_now, NULL);

int64_t sntp_time = (int64_t)tv_now.tv_sec * 1000000L + (int64_t)tv_now.tv_usec;
ESP_LOGI(TAG, "get sntp time us : %lld", sntp_time);
return sntp_time;
}

Who is online

Users browsing this forum: No registered users and 67 guests