Hi,
I want to use nRF9160's internal RTC. I coded it but did not get the real time correctly.
SDK: 2.5.0
IDE: vs code
board: nRF9160dk
-----------------------------------------code---------------------------------------------------------
printk("\nnRF9160 RTC initialization started...\n");
dev_rtc = device_get_binding(DEVICE_DT_NAME(RTC0_NODE));
if (!dev_rtc) {
printk("\n--ERROR: Binding RTC failed.--\n");
exit(1);
}
struct rtc_time rtc_time = {
.tm_sec = 0,
.tm_min = 0,
.tm_hour = 12,
.tm_mday = 1,
.tm_mon = 0,
.tm_year = 125,
};
err = rtc_set_time(dev_rtc, &rtc_time);
if (err!=0) {
printk("\n--ERROR: set RTC time failed.--\n");
exit(1);
}
err = 1;
struct rtc_time current_time;
err = rtc_get_time(dev_rtc, ¤t_time);
if (err!=0) {
printk("\n--ERROR: get RTC time failed.--\n");
exit(1);
}
err = 1;
printk("current time: %d-%02d-%02d %02d:%02d:%02d\n", current_time.tm_year+1900 , current_time.tm_mon+1, current_time.tm_mday, current_time.tm_hour, current_time.tm_min, current_time.tm_sec);
printk("rtc_time: %d-%02d-%02d %02d:%02d:%02d\n", rtc_time.tm_year+1900 , rtc_time.tm_mon+1, rtc_time.tm_mday, rtc_time.tm_hour, rtc_time.tm_min, rtc_time.tm_sec);
----------------------------------------result print--------------------------------------------
nRF9160 RTC initialization started...
current time: 111581-75469-536921472 00:68003:75468
rtc_time: 2025-01-01 12:00:00
Best regards,
Liza