|
发表于 2013-2-1 16:28:14
|
显示全部楼层
问题在这里吧?
/********以下是读取时间函数,负责读取当前的时间,并将读取到的时间转换为10进制数********/
void get_time()
{
uchar sec,min,hour,year,month,day,week; //定义秒、分和小时变量
write_ds1302(0x8e,0x00); //控制命令,WP=0,允许写操作
write_ds1302(0x90,0xab); //涓流充电控制
sec=read_ds1302(0x81); //读取秒
min=read_ds1302(0x83); //读取分
hour=read_ds1302(0x85); //读取时
day=read_ds1302(0x87); //读取日
month=read_ds1302(0x89); //读取月
week=read_ds1302(0x8b); //读取星期
year=read_ds1302(0x8d); //读取年
time_data[6]=sec/16*10+sec%16; //将读取到的16进制数转化为10进制
time_data[5]=min/16*10+min%16; //将读取到的16进制数转化为10进制
time_data[4]=hour/16*10+hour%16; //将读取到的16进制数转化为10进制
time_data[3]=day/16*10+day%16; //将读取到的16进制数转化为10进制
time_data[2]=month/16*10+month%16; //将读取到的16进制数转化为10进制
time_data[1]=week/16*10+week%16; //将读取到的16进制数转化为10进制
time_data[0]=year/16*10+year%16; //将读取到的16进制数转化为10进制
}
把上面的
write_ds1302(0x8e,0x00); //控制命令,WP=0,允许写操作
write_ds1302(0x90,0xab); //涓流充电控制
去掉看看。 |
|