Datasheet

Section 17 Timer RE
REJ09B0465-0300 Rev. 3.00 Page 621 of 982
Sep 17, 2010
H8S/20103, H8S/20203, H8S/20223, H8S/20115, H8S/20215, H8S/20235 Group
17.3.3 Data Reading Procedure in Realtime Clock Mode
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 17.4 shows
an example in which correct data is not obtained. In this example, since only TRESEC is read after
data update, about 1-minute inconsistency occurs.
The following three methods can be used to avoid reading in this timing:
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 SECF flag in TREIFR 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 TREWK = H'03, TREHR = H'13, TREMIN = H'46, TRESEC = 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 TREWK = H'03, TREHR = H'13, TREMIN = H'47, TRESEC = H'00
BSY bit -> 0
(4) Second data register read H'00
Processing flow
Figure 17.4 Example: Reading of Inaccurate Time Data