uchar Clock_Read_Time(uchar ds_addr)
{
uchar i,dat,ds_data;
clock_rst=1;
ds_addr|=0x01;
for(i=0;i<8;i++)
{
clock_io =ds_addr&0x01;
clock_sclk=1;
clock_sclk=0;
ds_addr>>=1;
}
clock_io =ds_addr;
clock_sclk=1;
clock_sclk=0;
clock_io =1;
dat=clock_io ;
dat<<=7;
ds_data>>=1;
ds_data|=dat;
for(i=0;i<7;i++)
{
clock_io =1;
dat=clock_io ;
dat<<=7;
ds_data>>=1;
ds_data|=dat;
clock_sclk=1;
clock_sclk=0;
}
clock_rst=0;
return ds_data ;
}我是现在的毛病就是ds1302的(包括分钟小时等)时间不是连续的走而是跳着走就是不连续的但是总体的时间还是准确的 我换了一个别人的就行 上面是我的读函数 已换上我的读函数就是跳着走 但是问题出在哪我就不知道了 我找了好几遍也没找到 |