微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > PCB设计学习讨论 > DS1307读取时间不正常

DS1307读取时间不正常

时间:10-02 整理:3721RD 点击:
做了个小开发板,上面有个DS1307模块,我用I2C总线去读取DS1307的时间,然后通过串口输出,但是输出的时间间隔不固定,这会是什么原因导致的?我打印过I2C函数的返回状态,状态是正常的。

QQ截图20160510225539.png

QQ截图20160510225016.png(18.28 KB, 下载次数: 2)

下载附件 保存到相册

2016-5-10 22:50 上传

QQ截图20160510225016.png

QQ截图20160501214514.png(60.07 KB, 下载次数: 2)

下载附件 保存到相册

2016-5-10 22:48 上传

QQ截图20160501214514.png

I2C加电阻没

要先设置一下再看看。设置一定要正确。

恩 我在其他的I2C器件那里上拉了

设置?跟什么设置会有关?

时间的设置啊,不是要初始化时间么

恩 这个时间我重写了啊    所以每次开始的时间都是一样的啊

重写的格式对么?要是BCD码吧。时间上也不能错。

时间没错啊   就是我之前写入的时间啊   但是读取的时间间隔就是不一样

QQ截图20160511202430.png

你把SQW/OUT输出一下看一下对不对呢

这个还真没试过  我没有引出这个管脚     我明天去看看实验室开不开门   开门就用示波器测一下

DS1307信号线需要上拉,请教下:for(i=0;i<ffffff;i++);是作为延时吗?i是几位的?

我在其他I2C器件的信号线中加了上拉电阻,还有那个i是unsigned int 型的  32位的数字是大于ffffff的

是哦,老是记得只有16位的!之前我用的ds1302也是时间不稳定,直接在信号线接上上拉就行了!

我在其他器件的I2C信号线上接上拉是不是相当于所有的I2C线都接了上拉

我在其他I2C器件上接了上拉是不是所有的I2C线都有效了?

上面的图你应该是没上啦,或者你在MCU端上啦了我看不到。不知道你说的在其他I2C器件上啦了是什么意思?ds1307与MCU(例如52)应该是模拟I2C把,应该要单独上啦。自己飞线上啦一下试试就知道了

就是我在这里上拉了,  ds1307与MCU不是模拟I2C啊   程序中用的就是I2C的接口啊

QQ截图20160513093253.png

QQ截图20160513093441.png(15.63 KB, 下载次数: 1)

下载附件 保存到相册

2016-5-13 09:34 上传

QQ截图20160513093441.png

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top