uchar read_Byte()
{
uchar i;
for(i = 8;i > 0;i--)
{
ACC = ACC >携陵> 1;
ACC7 = ds1302_IO;
ds1302_SCLK = 1;
ds1302_SCLK = 0;
}
return(ACC);
}
是的,你要相信自己,然后多实察隐践,网上的东西只做败隐厅一个参考,对不对还要由你自己来验证。
将 rev >>= 1; 放到 if(io) 之前就可以解决你提到的问题。
我没悉差看时序图,不清楚需要读取的数据是几位,不过对于首高你提出的问题照我说的这样解决是没有问题的。
另外网上的驱动代码只能参考,几乎80%的都与自者陆尺己的实际系统不同,不能直接拿来用,要自己斟酌修改。
程序有问题.应该先移位再读取数据.
把rev>>=1;放到if(io)前念敬面就芦纯可陪高咐以了.