OpenEdv-开源电子网

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

RTC获得星期数的程序的问题

[复制链接]

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
发表于 2014-3-10 17:29:12 | 显示全部楼层 |阅读模式
u8 RTC_Get_Week(u16 year,u8 month,u8 day)
{
u16 temp2;
u8 yearH,yearL;
yearH=year/100; yearL=year%100; 
// 如果为21世纪,年份数加100  
if (yearH>19)yearL+=100;
// 所过闰年数只算1900年之后的  
temp2=yearL+yearL/4;
temp2=temp2%7; 
temp2=temp2+day+table_week[month-1];
if (yearL%4==0&&month<3)temp2--;
return(temp2%7);
}   
我上网看了一下该算法,一般写作
static int wFirstDayOfMonth_noLeap[]={0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5};
if(m<3) { 
 y--; // 期望通过y的变形来统一公式
if(leap(y))  { 
  w = (y+1 + y/4-y/100+y/400+1 + wFirstDayOfMonth_noLeap[m-1] + d + 5) % 7;  } 

 else  { 
  w = (y+1 + y/4-y/100+y/400 + wFirstDayOfMonth_noLeap[m-1] + d + 6) % 7;  } 
}

else 
 w = (y + y/4-y/100+y/400 + wFirstDayOfMonth_noLeap[m-1] + d + 6) % 7;
这两者的区别弄的不太清楚,能简单介绍一下原子代码的思路吗


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-10 22:17:59 | 显示全部楼层
回复【楼主位】liyuanmrwhite:
---------------------------------
没有研究。
此代码完全是抄袭的,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2014-3-11 15:01:50 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢。
我想在SD卡里面记录数据,有没有这样的类似例程呢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-11 16:32:42 | 显示全部楼层
回复【3楼】liyuanmrwhite:
---------------------------------
自己动手改改就行了。。。
一定要别人帮你做好,当然没有了。
你又不发工资给我,否则我给你写个了,呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

38

主题

128

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
金钱
300
注册时间
2013-8-19
在线时间
0 小时
 楼主| 发表于 2014-3-11 16:59:39 | 显示全部楼层
回复【4楼】正点原子:

回复【3楼】liyuanmrwhite:
---------------------------------
自己动手改改就行了。。。
一定要别人帮你做好,当然没有了。
你又不发工资给我,否则我给你写个了,呵呵。

---------------------------------
,,,,,参考一下而已。。。谈钱多伤感情,,,
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 00:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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