前言
有幸评测了NK-980IOT开发板的RTC功能,当时只是测试了RTC离线的使用,时间上会有累积误差。
既然开发板有联网功能,那就可以NTP获取网络时间。
NTP时间同步至RTC
确认NTP功能开启,这里在RT-Thread的netutils网络小工具里配置,使用非常方便。
在之前源码的基础上把获取的网络时间也打印出来
static void rtc_thread_entry(void* parameter) /RTC任务线程/
{
time_t ntp_time;
time_t now;
while (1)
{
/* 获取NTP当前日期和时间 /
ntp_time = ntp_get_time();
if (ntp_time && key1_toggle)
{
rt_kprintf("NTP Server Time: %s", ctime((const time_t) &ntp_time));
}
/* 获取RTC当前日期和时间 */
now = time(RT_NULL);
if(key1_toggle)
{
rt_kprintf("RTC Current Time:%.*s", 25, ctime(&now));
}
rt_thread_mdelay(1000);
}
}
这样连上网络后就可以同步RTC时间了。
原作者:Kan
更多回帖