- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HD系列实时钟模块编程说明.doc
HD系列实时钟模块编程说明
作者:技术支持部 胡富云
一、概述
HD系列手持终端目前使用两个型号的RTC实时钟模块,分别为3511及35190芯片,另外,GPRS模块也具备实时钟功能,CDMA模块可以通过取基站时钟来恢复本地系统时钟,下面将简单介绍下各个模块的取时间及设置时间方法
二、3511模块
函数列表
int get_all_time_for_3511( typ_RTC_date_rec * pdr, typ_RTC_time_rec * ptr); //取3511模块时间,typ_RTC_date_rec,typ_RTC_time_rec分别为结构体,在API.H中有定义
void reset_3511(void);
unsigned char get_state_3511(void);
void set_state_3511(unsigned char cstat);
int set_all_time_for_3511( typ_RTC_date_rec dr, typ_RTC_time_rec tr); //设置3511模块时间
void set_time_for_3511( typ_RTC_time_rec tr);
int time_okay_3511(void); //检测模块运行是否正常
#define init_3511() { reset_3511(); set_state_3511(0x40);} //模块重启
设置3511时间示例
{
if(time_okay_3511() == 0) //如果模块运行不正常,则重新初始化模块
init_3511();
if(time_okay_3511() != 0)
{
sys_date.l_word = RTC_read_date();
sys_time.l_word = RTC_read_time();
set_all_time_for_3511(sys_date, sys_time); //将系统时间同步给3511时钟
}
}
获取3511时钟来同步系统时间示例
if(time_okay_3511() == 0)
{
init_3511();
}
if(time_okay_3511() == 0)
{
}
else
{
typ_RTC_time_rec tr;
typ_RTC_date_rec dr;
get_all_time_for_3511(dr,tr); //获取3511时钟日期时间
RTC_set_date(dr.l_word); //同步系统日期
RTC_set_time(tr.l_word); //同步系统时间
}
以上代码中,需要在文件头中包含RTC3511.H,在LD文件中加入 Lib3511gpio1.a 才可编译通过
三、35190模块
函数列表
int get_all_time_for_35180( typ_RTC_date_rec * pdr, typ_RTC_time_rec * ptr);
void reset_35180(void);
int set_all_time_for_35180( typ_RTC_date_rec dr, typ_RTC_time_rec tr);
void set_time_for_35180( typ_RTC_time_rec tr);
int time_okay_35180(void);
函数与3511类似,不同的是,reset_35180该函数执行后,时间会被重置回2000-01-01 00:00:00,必须要提示重新校正时间。
设置35190时间示例
if (time_okay_35180() == 0)
reset_35180();
if (time_okay_35180() != 0)
{
sys_date.l_word = RTC_read_date();
sys_time.l_word = RTC_read_time();
set_all_time_for_35180(sys_date, sys_time);
}
获取35190时钟来同步系统时间示例
if(time_okay_35180() == 0)
{
reset_35180();
}
if(time_okay_35180() == 0)
{
}
else
{
typ_RTC_time_rec tr;
typ_RTC_date_rec dr;
get_all_time_for_35180(dr,tr);
RTC
文档评论(0)