wince 6时间问题

yinrongg 2010-11-22 01:31:41
WINCE 6系统每次断电后再开机时间保持在上次断电的时间,比如我1点断电,隔1小时再开机还是1点,这是什么原因?主板电池没电?还是电池松了?
...全文
192 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinrongg 2010-11-27
  • 打赏
  • 举报
回复
还是没找到问题,,,,结贴了,谢谢各位!
xiaosan5871 2010-11-26
  • 打赏
  • 举报
回复
是系统的问题吧。。。你进系统时,强制读取RTC时间就可以了
sibling520 2010-11-25
  • 打赏
  • 举报
回复
这种现象?LZ的问题应该可以归结下:
1.应该不是软件的问题,因为现象如果是上电的时候时间是正常,此时是由系统电源供电的,断电后是由备用电池供电,而软件只是负责从时间寄存器里读出时间,所以如果断电后时钟没有继续走,问题还是出在备用电池电路部分。
2.备用电池电路部分可以从以下几点找问题:
a.电池电量不够,一般低于2V就不能工作了;电池座是否接触良好,焊接正确,可以测试下从BGA上引出的电池电压管脚到地端的电压。
b.电池电路是否串接了二极管,开二极管是否开路或焊接反向了。
c.有可能的话,自己想办法测试下,是否存在虚焊的问题,我就遇到过6410虚焊,重新焊下就好了
loongembedded 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 ling3wei 的回复:]
还没有
目前还没测出什么情况
郁闷
再试试 几天后结贴。
[/Quote]
现在正常了吗?
Formular1 2010-11-25
  • 打赏
  • 举报
回复
开发板子的问题?
yinrongg 2010-11-24
  • 打赏
  • 举报
回复
还没有
目前还没测出什么情况
郁闷
再试试 几天后结贴。
shuilingshenjun 2010-11-23
  • 打赏
  • 举报
回复
感觉像是RTC电路的问题哟,掉电后时间没有走。
loongembedded 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 ling3wei 的回复:]
WINCE 6系统每次断电后再开机时间保持在上次断电的时间,比如我1点断电,隔1小时再开机还是1点,这是什么原因?主板电池没电?还是电池松了?
[/Quote]
这些问题还是存在吗?没有进展吗?我想麻烦楼主再总结一下你的问题。
yinrongg 2010-11-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 91program 的回复:]
也不一定是硬件的问题,也有可能是驱动或时间设置的逻辑问题
[/Quote] 我上面的帖了些RTC驱动的代码 有没可能是那的问题呢
91program 2010-11-22
  • 打赏
  • 举报
回复
也不一定是硬件的问题,也有可能是驱动或时间设置的逻辑问题
yinrongg 2010-11-22
  • 打赏
  • 举报
回复
啊。。。。。 不会吧 硬件问题?
91program 2010-11-22
  • 打赏
  • 举报
回复
应该是硬件RTC有问题
yinrongg 2010-11-22
  • 打赏
  • 举报
回复
我也奇怪啊
通电的时候能正常啊,就是断电时间不走。。。。 你们帮我看看代码啊:
我查了下BSP代码:
BOOL OALIoCtlHalInitRTC(
UINT32 code, VOID *pInpBuffer, UINT32 inpSize, VOID *pOutBuffer,
UINT32 outSize, UINT32 *pOutSize
) {
BOOL rc = FALSE;
SYSTEMTIME *pTime = (SYSTEMTIME*)pInpBuffer;

OALMSG(OAL_IOCTL&&OAL_FUNC, (L"+OALIoCtlHalInitRTC(...)\r\n"));

if (pOutSize) {
*pOutSize = 0;
}

// Validate inputs
if (pInpBuffer == NULL || inpSize < sizeof(SYSTEMTIME)) {
NKSetLastError(ERROR_INVALID_PARAMETER);
OALMSG(OAL_ERROR, (
L"ERROR: OALIoCtlHalInitRTC: Invalid parameter\r\n"
));
goto cleanUp;
}

rc = OEMSetRealTime(pTime);//此函数调用了NKSystemTimeToFileTime(pTime, &fileTime)),不知道是不是这函数将时间设成了NKFIleTime了?
cleanUp:
OALMSG(OAL_IOCTL&&OAL_FUNC, (L"-OALIoCtlHalInitRTC(rc = %d)\r\n", rc));
return rc;
}
BOOL OEMSetRealTime(SYSTEMTIME *pTime)
{
BOOL rc = FALSE;
ULARGE_INTEGER time;
FILETIME fileTime;
BOOL enabled;

if(!pTime) goto cleanUp;

OALMSG(OAL_RTC&&OAL_FUNC, (
L"+OEMSetRealTime(%d/%d/%d %d:%d:%d.%03d)\r\n",
pTime->wYear, pTime->wMonth, pTime->wDay, pTime->wHour, pTime->wMinute,
pTime->wSecond, pTime->wMilliseconds
));

if((rc = NKSystemTimeToFileTime(pTime, &fileTime)))
{
// Convert time to miliseconds since Jan 1, 1601
time.LowPart = fileTime.dwLowDateTime;
time.HighPart = fileTime.dwHighDateTime;
time.QuadPart /= 10000;

enabled = INTERRUPTS_ENABLE(FALSE);
*g_pOALRTCTicks = time.QuadPart;
INTERRUPTS_ENABLE(enabled);
}

cleanUp:
OALMSG(OAL_RTC&&OAL_FUNC, (L"-OEMSetRealTime(rc = %d)\r\n", rc));
return rc;
}
dengchonglin 2010-11-22
  • 打赏
  • 举报
回复
WINCE 运行的时候时间正常吗??
如果正常的话就查电池那部分了~!

但感觉电池应该没问题啊
现在是时间能保存住
就是没有走~!

比较奇怪
yinrongg 2010-11-22
  • 打赏
  • 举报
回复
啊,应该没那么严重吧,还没法回答、?
beyondma 2010-11-22
  • 打赏
  • 举报
回复
这个问题还真是没法答,感觉是BSP的事。
yinrongg 2010-11-22
  • 打赏
  • 举报
回复
怎么没人回到我的问题啊
loongembedded 2010-11-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ling3wei 的回复:]
但是我去了这个勾还是一样的情况啊
[/Quote]
确认RTC部分硬件电路是否存在问题。
yinrongg 2010-11-22
  • 打赏
  • 举报
回复
但是我去了这个勾还是一样的情况啊
loongembedded 2010-11-22
  • 打赏
  • 举报
回复
WINCE 6系统每次断电后再开机时间保持在上次断电的时间,比如我1点断电,隔1小时再开机还是1点,这是什么原因?
---》应该是楼主选择了WINCE控制面板下面的时间设置的下面选项
automatically adjust clock for daylight saving
加载更多回复(2)

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧