DS1302 读数据的问题
2019-03-24 18:42发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
如下是
DS1302的
读时钟或
ram的
子代码。
scl为
clock。
sda为
data(
I/0)。
en为
RST信号。
uchar read(uchar a2) //a2 为地址{uchar j,d2=0x00;en=0;scl=0;en=1;for(j=0;j<8;j++) //发送地址{scl=0;sda=(a2 & 0x01);a2=a2>>1;scl=1;}for(j=0;j<8;j++) //读数据{ if(sda==1) //在这句执行前SCL还是高电平。{d2=d2|0x80;} //读取数据不是应该是下降沿读取么?但现在高电平直接读取了?else //读完再产生下降沿? 这样写才能用。 //如果先把scl=0 再去判断sda 就不能用。这是为什么?{d2=d2&0x7f;}scl=0;d2=d2>>1; scl=1;}en=0;//以下为DS1302复位的稳定时间 //没有看到什么资料上有什么DS1302什么复位稳定时间这段代码的啊,但少了这段还不能工作。这段代码是干嘛的?有什么资料上写么?scl=0;scl=1;sda=0;sda=1;return d2;}
此帖出自
小平头技术问答
一周热门 更多>