DS1302读取数据问题

2019-07-16 03:39发布

本帖最后由 cjunrong 于 2012-11-20 16:14 编辑

    各位,我用单片机驱动DS1302的时候遇到了一点问题,在读取数据的时候,使用下面的程序时读取的数值总是错误的,
        for(i=0;i<8;i++)
        {
                ds1302_SCLK=1;
                ds1302_SCLK=0;
                if(ds1302_IO==1)
                        date=date|0x80;
                date>>=1;
        }

而使用下面的程序的时候就是正确的

        for(i=0;i<8;i++)
       {
                if(ds1302_IO)
                        date|=0x80;                        //每次传输低字节
               ds1302_SCLK=0;
              date>>=1;                      //右移一位
                 ds1302_SCLK=1;
        }

看资料说是在下降沿读走数据,而这对于这两个函数断,为啥第一个不行,而第二个行,小弟实在是搞不明白,还望哪位大侠指点一下...!         

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。