单片机 DS1302时钟读写问题

2024-11-22 19:06:18
推荐回答(3个)
回答1:

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);
}

是的,你要相信自己,然后多实察隐践,网上的东西只做败隐厅一个参考,对不对还要由你自己来验证。

回答2:

将 rev >>= 1; 放到 if(io) 之前就可以解决你提到的问题。

我没悉差看时序图,不清楚需要读取的数据是几位,不过对于首高你提出的问题照我说的这样解决是没有问题的。
另外网上的驱动代码只能参考,几乎80%的都与自者陆尺己的实际系统不同,不能直接拿来用,要自己斟酌修改。

回答3:

程序有问题.应该先移位再读取数据.
把rev>>=1;放到if(io)前念敬面就芦纯可陪高咐以了.