Wince系统时间设置

在Windows CE(Wince)系统中,设置时间并非简单修改RTC。通过研究发现,Wince在启动后会通过OALIoCtlHalInitRTC()函数初始化时间。此函数由OS调用,通常使用输入缓冲区中的SYSTEMTIME结构来设定默认时间。在调试过程中,发现调用OEMSetRealTime()会导致时间重置为默认值。解决方法是改用OEMGetRealTime()来获取时间,避免重复设置。
摘要由CSDN通过智能技术生成

本来以为系统时间设置很简单,只要修改下RTC会记得你设置的时间,但是经过测试发现情况不是这样的。于是研究了bsp启动时系统时间的设置的流程。我一直认为在OAL层加入OEMSetRealTime()函数即可,但是测试了好几次不行,于是动了真格,呵呵之前一直以为这个功能很简单。在OEMInit加入相应的调试信息后,发现在我OEMSetRealTime之后,wince调用了一个函数OALIoCtlHalInitRTC()这个函数太关键了。于是看了这个函数介绍英文,看的够呛,不过意思都懂了,This function is called by WinCE OS to initialize the time after boot.

//  Input buffer contains SYSTEMTIME structure with default time value.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值