您的位置:首页技术文栏综合技术
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

有关实时钟读取的偏方(转贴)

[日期:2008-06-25 ] [来源:net 作者:佚名] [字体: (投递新闻)

 目前多用IIC等串行输出的实时钟而大多MCU无硬件IIC , 只能通过IO模拟,如果每秒读一次占用MCU也不算少,即使带硬件IIC(C8051F02X等)采用中断处理因对IIC状态标志的判断散转也要若干时间。在大部分情况下,可以有个省事的处理方式:只在复位后读一次完整时间数据,此后时间更新通过MCU定时器(必须设置为自动重装方式以获得与晶体稳定度一致的精确度),如果对读一次的数据不放心,可以通过判断包含FF等非法数据来重读(按我体会,数据错读的都是FF,而重读基本无必要,因为大多是RTC内部数据已被冲坏了),也可用多次读方式(个人觉得象画蛇添足,我从未这样处理)。当使用MCU的定时器来处理时间,花费比IIC要省的多,如果仪器每天都开关,第二天开机获得的时间是由RTC自己维持运行的数据。如果你要连续工作一个月以上,可能程序上要处理大小月等问题,或是每当MCU计到23时01分重读一次RTC(最好避免在整24时,因可能涉及日、月、年的更新)。附带说:MCU定时器自动重装方式精度与晶体稳定度一致,无累积误差。也可采取每分钟或每小时读一次方式,期间计时仍然由MCU处理。

 

阅读:
录入:面面

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐