Datasheet
Section 11 Realtime Clock (RTC)
Rev.7.00 Dec. 24, 2008 Page 359 of 698
REJ09B0074-0700
11.4.2 Time Data Reading Procedure
When the seconds, minutes, hours, or day-of-week datum is updated while time data is being read,
the data obtained may not be correct, and so the time data must be read again. Figure 11.4 shows
an example in which correct data is not obtained. In this example, since only RSECDR is read
after data update, about 1-minute inconsistency occurs.
To avoid reading in this timing, the following processing must be performed.
1. Check the setting of the BSY bit, and when the BSY bit changes from 1 to 0, read from the
second, minute, hour, and day-of-week registers. When about 62.5 ms is passed after the BSY
bit is set to 1, the registers are updated, and the BSY bit is cleared to 0.
2. Making use of interrupts, read from the second, minute, hour, and day-of week registers after
the IRQ5F flag in ISR is set to 1 and the BSY bit is confirmed to be 0.
3. Read from the second, minute, hour, and day-of week registers twice in a row, and if there is
no change in the read data, the read data is used.
Before update RWKDR = H'03, RHDDR = H'13, RMINDR = H'46, RSECDR = H'59
BSY bit = 0
(1) Day-of-week data register read H'03
(2) Hour data register read H'13
(3) Minute data register read H'46
BSY bit -> 1 (under data update)
After update RWKDR = H'03, RHDDR = H'13, RMINDR = H'47, RSECDR = H'00
BSY bit -> 0
(4) Second data register read H'00
Processing flow
Figure 11.4 Example: Reading of Inaccurate Time Data