ds1302获得时间

zisepiaomiao 2009-06-16 07:35:19
void GetTime(SYSTIME *sys)
{
uchar uiTempDat;
uiTempDat=RDS1302(YEAR|0x01);
(*sys).cYear=(uiTempDat>>4)*10+(uiTempDat&0x0f);
uiTempDat=RDS1302(MONTH|0x01);
(*sys).cMon=((uiTempDat&0x1f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(DAY|0x01);
(*sys).cDay=((uiTempDat&0x3f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(HOUR|0x01);
(*sys).cHour=((uiTempDat&0x3f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(MINUTE|0x01);
sys->cMin=((uiTempDat&0x7f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(SECOND|0x01);
sys->cSec=((uiTempDat&0x7f)>>4)*10+(uiTempDat&0x0f);

uiTempDat=RDS1302(MONTH|0x01);
(*sys).cMon=uiTempDat&0x17;

uiTempDat=RDS1302(WEEK|0x01);
sys->cWeek=uiTempDat&0x07;
}不太理解者代码?为什么右移四位?右移四位不是相当于除以16了?
...全文
29 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧