stm32f0: rtc: fix off by one

tags/0.1.0
S.J.R. van Schaik 8 years ago
parent 3bf0593928
commit 66f0b7b0d6
  1. 6
      source/platform/stm32f0/rtc.c

@ -60,7 +60,6 @@ int rtc_get_time(struct tm *time)
time->tm_min += (unsigned char)(((rtc_tr >> 12) & 0xF) * 10);
time->tm_hour = (unsigned char)((rtc_tr >> 16) & 0xF);
time->tm_hour += (unsigned char)(((rtc_tr >> 20) & 0xF) * 10);
time->tm_hour -= 1;
time->tm_mday = (unsigned char)(rtc_dr & 0xF);
time->tm_mday += (unsigned char)(((rtc_dr >> 4) & 0x3) * 10);
@ -82,7 +81,6 @@ static int rtc_set_time(struct tm *time)
if (!time)
return -1;
hour = time->tm_hour + 1;
mon = time->tm_mon + 1;
year = time->tm_year - 100;
@ -90,8 +88,8 @@ static int rtc_set_time(struct tm *time)
rtc_tr |= (time->tm_sec / 10) << 4;
rtc_tr |= (time->tm_min % 10) << 8;
rtc_tr |= (time->tm_min / 10) << 12;
rtc_tr |= (hour % 10) << 16;
rtc_tr |= (hour / 10) << 20;
rtc_tr |= (time->tm_hour % 10) << 16;
rtc_tr |= (time->tm_hour / 10) << 20;
rtc_dr = (time->tm_mday % 10);
rtc_dr |= (time->tm_mday / 10) << 4;

Loading…
Cancel
Save