OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5133|回复: 1

RTC程序中的问题

[复制链接]

13

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2014-2-22
在线时间
1 小时
发表于 2014-7-9 17:43:40 | 显示全部楼层 |阅读模式
5金钱
原子哥:
您好:
我在学习RTC程序的时候遇到了个问题;
 

void Auto_Time_Set(void)

{

       u8 temp[3];

       u8 i;

       u8 mon,date;

       u16 year;

       u8 sec,min,hour;

       for(i=0;i<3;i++)temp=COMPILED_DATE;  

       for(i=0;i<12;i++)if(str_cmpx((u8*)Month_Tab,temp,3))break;      

       mon=i+1;//得到月份

       if(COMPILED_DATE[4]==' ')date=COMPILED_DATE[5]-'0';

       else date=10*(COMPILED_DATE[4]-'0')+COMPILED_DATE[5]-'0'; 

       year=1000*(COMPILED_DATE[7]-'0')+100*(COMPILED_DATE[8]-'0')+10*(COMPILED_DATE[9]-'0')+COMPILED_DATE[10]-'0';     

       hour=10*(COMPILED_TIME[0]-'0')+COMPILED_TIME[1]-'0'; 

       min=10*(COMPILED_TIME[3]-'0')+COMPILED_TIME[4]-'0'; 

       sec=10*(COMPILED_TIME[6]-'0')+COMPILED_TIME[7]-'0'; 

       RTC_Set(year,mon,date,hour,min,sec)  ;

       //printf("%d-%d-%d  %d:%d:%d\n",year,mon,date,hour,min,sec);

}
红色部分理解不了。求助一下。 例如 像hour=10*(COMPILED_TIME[0]-'0')+COMPILED_TIME[1]-'0'; 怎么理解???
谢谢!

最佳答案

查看完整内容[请看2#楼]

这是MDK内部定义的时间日期字符串,每次编译的时候更新. 你直接将COMPILED_TIME以字符串的方式打印出来,就知道啥意思了.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-9 17:43:41 | 显示全部楼层
这是MDK内部定义的时间日期字符串,每次编译的时候更新.
你直接将COMPILED_TIME以字符串的方式打印出来,就知道啥意思了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-6 18:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表