Time.Month = RtcRead (RTC_ADDRESS_MONTH);\r
Time.Year = RtcRead (RTC_ADDRESS_YEAR);\r
\r
- //\r
- // Set RTC configuration after get original time\r
- // The value of bit AIE should be reserved.\r
- //\r
- RegisterB.Data = FixedPcdGet8 (PcdInitialValueRtcRegisterB) | (RegisterB.Data & BIT5);\r
- RtcWrite (RTC_ADDRESS_REGISTER_B, RegisterB.Data);\r
-\r
//\r
// Release RTC Lock.\r
//\r
Time.Daylight = 0;\r
}\r
\r
+ //\r
+ // Set RTC configuration after get original time\r
+ // The value of bit AIE should be reserved.\r
+ //\r
+ RegisterB.Data = FixedPcdGet8 (PcdInitialValueRtcRegisterB) | (RegisterB.Data & BIT5);\r
+ RtcWrite (RTC_ADDRESS_REGISTER_B, RegisterB.Data);\r
+\r
//\r
// Reset time value according to new RTC configuration\r
//\r
BOOLEAN IsPM;\r
UINT8 Century;\r
\r
- if ((Time->Hour & 0x80) != 0) {\r
- IsPM = TRUE;\r
- } else {\r
- IsPM = FALSE;\r
- }\r
+ // IsPM only makes sense for 12-hour format.\r
+ if (RegisterB.Bits.Mil == 0) {\r
+ if ((Time->Hour & 0x80) != 0) {\r
+ IsPM = TRUE;\r
+ } else {\r
+ IsPM = FALSE;\r
+ }\r
\r
- Time->Hour = (UINT8)(Time->Hour & 0x7f);\r
+ Time->Hour = (UINT8)(Time->Hour & 0x7f);\r
+ }\r
\r
if (RegisterB.Bits.Dm == 0) {\r
Time->Year = CheckAndConvertBcd8ToDecimal8 ((UINT8)Time->Year);\r