读写函数有什么问题?
void WriDS1302(unsigned char cmd, unsigned char dat) //ucAddr: DS1302µØÖ·, ucData: ҪдµÄÊý¾Ý
{
unsigned char i;
DS1302RST_0;delay_us(1);
DS1302RST_1;
for(i=0; i<8; i++)
{
if(cmd&0x01)
DS1302IO_1;
else DS1302IO_0;
cmd=cmd>>1;
DS1302CLK_1;
delay_us(1);
DS1302CLK_0;
}
for(i=0; i<8; i++)
{
if(dat&0x01)
DS1302IO_1;
else DS1302IO_0;
dat=dat>>1;
DS1302CLK_1;
delay_us(1);
DS1302CLK_0;
}
DS1302RST_0;
DS1302CLK_1;
}
//*********************************************
unsigned char ReadDS1302(unsigned char cmd) //¶ÁÈ¡DS1302ijµØÖ·µÄÊý¾Ý
{
unsigned char i,tem=0;
DS1302RST_0;
delay_us(1);
DS1302CLK_0;
delay_us(1);
DS1302RST_1;
for(i=0; i<8; i++)
{
if(cmd&0x01)
DS1302IO_1;
else DS1302IO_0;
cmd=cmd>>1;
DS1302CLK_1;
delay_us(1);
DS1302CLK_0;
}
for(i=8; i>0; i--)
{
if(PAin(1))
tem=tem|0x01;
else;
tem=(tem<<1);
DS1302CLK_1;
delay_us(1);
DS1302CLK_0;
}
DS1302RST_0;
DS1302CLK_1;
return(tem);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>