打印
[ZLG-ARM]

lpc2134年月日不能断电保存

[复制链接]
1863|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
QP ZHANG|  楼主 | 2007-7-22 21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LPC2134实时时钟,用电池供电,外部32.768K晶振。在运行时可以修改年、月、日、时、分、秒,时间和日期的运行和进位正常。但是断电再上电后时、分、秒是正确数值(在断电时走的时间也对),年、月、日就变成了2003年6月2日了。试验多次都是这样,换了几块板都是一样现象。谢谢指教!

相关帖子

沙发
HotPower| | 2007-7-22 23:42 | 只看该作者

估计是初始化的问题

使用特权

评论回复
板凳
qp zhang| | 2007-7-23 09:45 | 只看该作者

初始化过程

谢谢,HOTPOWER.
我是这样初始化的:
    1 首先烧录的程序:
    先调用初始化函数 
    void RtcInit(void)
    {
        AMR = 0;          //不报警
        CIIR = 0;          //不产生中断
        CCR |= 0x1<<4;       //使用独立振荡器
    }
    再调用启动函数
    void RtcStart( void ) 
    {
        CCR |= 0x01;        //允许实时时钟计时
        ILR = 0x01;         //清除计时中断
    }

    2 擦除前面烧录的程序,另外烧录程序,只调用初始化函数,不再调用启动函数。
    我的应用不需要RTC中断或报警,只需要能随时读取日期时间就好。
    请指教有什么地方不对的。谢谢!

使用特权

评论回复
地板
zlgARM| | 2007-7-25 09:18 | 只看该作者

QP ZHANG

您好:
   很可能是软件方面的问题。
   
   从掉电中恢复时RTC不需要重新初始化:
   既然处理器掉电时RTC仍然正常运行,那么在处理器恢复工作时,它也可以持续掉电时的运行参数和状态。所以,复位时,和其它外设不同,处理器不会去初始化RTC的寄存器,这是由RTC对状态持续性的特殊要求决定的。
   
   建议:
   从掉电中恢复时,只执行读RTC操作。此外,确保测试环境的单纯性,也就是说,除和RTC测试相关的代码外,其它代码一律删除。
   此外,您对AMR的初始化可能是不正确的,建议您看一下用户手册,可能您还有其它细节未曾注意。

使用特权

评论回复
5
qp zhang| | 2007-7-25 10:51 | 只看该作者

谢谢,确实是初始化问题

谢谢,确实是初始化问题,在别的地方还有一段初始化程序,删除就OK了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

17

帖子

0

粉丝