极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19947|回复: 7

为什么我的DS1307有这样的问题呢?

[复制链接]
发表于 2012-4-14 14:47:00 | 显示全部楼层 |阅读模式
本帖最后由 Randy 于 2012-4-25 15:19 编辑

我的DS1307的问题超级奇怪,有7、8个这种模块都是出现这样的问题,起初以为是芯片的问题,换了芯片,还是一样的答案!不知道您们谁有过这样的结果,怎么解决,谢谢知道!
结果看图:




以下是代码部分!
#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by  mattt on the Arduino forum and modified by D. Sjunnesson

void setup()
{
  Serial.begin(9600);

  RTC.stop();
  RTC.set(DS1307_SEC,1);        //set the seconds
  RTC.set(DS1307_MIN,23);     //set the minutes
  RTC.set(DS1307_HR,12);       //set the hours
  RTC.set(DS1307_DOW,4);       //set the day of the week
  RTC.set(DS1307_DATE,5);       //set the date
  RTC.set(DS1307_MTH,3);        //set the month
  RTC.set(DS1307_YR,9);         //set the year
  RTC.start();

}

void loop()
{

  Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
  Serial.print(":");
  Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
  Serial.print(":");
  Serial.print(RTC.get(DS1307_SEC,false));//read seconds
  Serial.print("      ");                 // some space for a more happy life
  Serial.print(RTC.get(DS1307_DATE,false));//read date
  Serial.print("/");
  Serial.print(RTC.get(DS1307_MTH,false));//read month
  Serial.print("/");
  Serial.print(RTC.get(DS1307_YR,false)); //read year
  Serial.println();

  delay(1000);

}

问题已经解决:

经过一段时间的总结,发现了问题所在,先告诉大家是怎么解决的。我试了25个板子,都可以进行工作了。

我总结一下解决方法的可能性!
第一: 确保您DS1307模块上的4.7K电阻是否接入电路当中。
第二: 查看一下您的掉电给电的纽扣电池是否插入电池座里。(这个原因不是很明确,但是在我没插电池时,有些模块测试不行,一旦确保电路接入4.7K电阻和电池时,完全可以工作了)!

第三: 查看一下电路连接是否正确,电路连接很简单,4根线。(VCC、GND、SCL、SDA)

第四: 如果发现在IDE编译程序时,不能成功,那就是可能是自己的操作不当或者不会操作(比如是不会把express 放入libraries  所导致编译的错误,方法请参照本论坛的相关帖子,谢谢)!

只要确保以上的步骤是正确的,那应该会没什么困难的进行工作,如果还有一个问题,那就是PCB板本身存在的问题咯。



如果大家还有什么问题,可以回帖一起学习哦!分享快乐!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2012-4-14 15:22:57 | 显示全部楼层
xqi2 发表于 2012-4-14 14:53
数据 不够详细 应该无人能回答出来你的问题

已经上传了,帮忙看一下,没辙,难道是板子本身的问题!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-14 15:34:35 | 显示全部楼层
xqi2 发表于 2012-4-14 15:31
DS1307是啥东西?
还有你说出错  哪里出错 我怎么看怎么没出错

DS1307就是一个时钟模块,你没看出来吗?串口监视窗口输出的结果是没有变化的。都是00000000.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-15 22:13:31 | 显示全部楼层
xqi2 发表于 2012-4-15 10:04
钮扣电池 上了吗

纽扣电子没多大关系吧,因为我都是上电调试的,电池作用只是在我们掉电的时候给电路继续供电,芯片继续工作的功能!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-16 14:04:50 | 显示全部楼层
xqi2 发表于 2012-4-16 13:52
这就好比如 你把电脑主板上的钮扣电池取了一个道理    只要一断电 马上就时间复位
钮扣电池是3V   那么说明 ...

但是加上去也是没有作用呀!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-17 08:39:38 | 显示全部楼层
xqi2 发表于 2012-4-16 14:08
#include     库加进去了吗
还有更详细的芯片的资料文件吗

不是程序编译有问题,是结果出不来,我有一些也是能工作的!
回复 支持 反对

使用道具 举报

发表于 2012-4-17 21:46:33 | 显示全部楼层
Randy 发表于 2012-4-17 08:39
不是程序编译有问题,是结果出不来,我有一些也是能工作的!

会不会是库有问题。。。我驱动时钟芯片时,遇到过下载的一个库有问题。。。又换了其他地方下载的才能工作了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-4-17 22:16:30 | 显示全部楼层
弘毅 发表于 2012-4-17 21:46
会不会是库有问题。。。我驱动时钟芯片时,遇到过下载的一个库有问题。。。又换了其他地方下载的才能工作 ...

我有好多的板子,我试了,一些可以,一些就是不行,可能是IC的问题,或者晶振的问题,哪天找到答案了就公布给大家看哈!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 04:40 , Processed in 0.043936 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表