找到wince所在盘符X,并定位到以下目录
X:\WINCE500\PLATFORM\SMDK2440A\Src\Common\Rtc
在Rtc文件夹下找到rtc.c, rtc.c中的函数OALIoCtlHalInitRTC是初始化时间的
OALIoCtlHalInitRTC函数中需要包含以下两个函数
OEMGetRealTime(pTime)
OEMSetRealTime(pTime)
分别是获取时间和设置时间。在OEMSetRealTime中需要判断时间的有效性,
例如:
if (
(pTime->wDay > 31) || // 0 - 31
(pTime->wMonth > 12) || // 0 - 12, Jan:1, Feb:2, ...
(pTime->wMonth == 0) ||
(pTime->wYear < 2010) || // We have a 100 year calander (2 BCD digits) with
(pTime->wYear > 2049) // a leap year generator hard-wired to year 2000.
)
{
pTime->wYear = 2014; pTime->wMonth = 5; pTime->wDay = 1;
}
如果不在正常范围内指定一个初始值,这样就不会出现超出指定范围的“非法时间”了。