DS1302 读数据的问题

2019-03-24 18:42发布

如下是 DS1302 读时钟或ram 子代码。sclclock sdadataI/0)。 enRST信号。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;}

此帖出自小平头技术问答
0条回答

一周热门 更多>