昨天看了原子哥的程序,每次读取时间都要进行移位什么的 比较麻烦,看看我的吧
[mw_shl_code=c,true]typedef struct
{
vu8 ss:8;
vu8 mm:8;
vu8 hh:6;
vu8 PM:2;
vu8 unuse:8;
}Time_Typedef;
typedef struct
{
vu8 dd:8;
vu8 mm:5;
vu8 xq:3;
vu8 yy:8;
vu8 unuse:8;
}Data_Typedef;
#define Time ((Time_Typedef *)(0x40002800))
#define Data ((Data_Typedef *)(0x40002804))[/mw_shl_code]
这样定义以后,就跟操作寄存器一样,直接读出来年月日时分秒,比移位简单多了。哈哈
unuse是RTC->TR跟RTC->DR俩寄存器中没有用到的位,这用来填充一下到32位,然后映射到这个寄存器上,然后就能取出时间了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>