极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 弘毅

arduino学习笔记27 - DS1307 RTC时钟芯片与DS18B20数字温度传感器实验

  [复制链接]
 楼主| 发表于 2013-9-22 22:43:46 | 显示全部楼层
co_qiu 发表于 2013-9-22 21:22
为什么我的输出为零啊

首先检查IDE和库是否匹配,1.0和0022IDE配套的库不一样,然后检查接线
回复 支持 反对

使用道具 举报

发表于 2013-9-23 15:51:59 | 显示全部楼层
我用1.0.1版本软件加载1.0.1版本的dallas-temperature-control库 ,出现

C:\arduino-1.0.1-windows\arduino-1.0.1\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=104 -IC:\arduino-1.0.1-windows\arduino-1.0.1\hardware\arduino\cores\arduino -IC:\arduino-1.0.1-windows\arduino-1.0.1\hardware\arduino\variants\standard -IC:\arduino-1.0.1-windows\arduino-1.0.1\libraries\OneWire d:\Arduino_Hex\Simple.cpp -o d:\Arduino_Hex\Simple.cpp.o
Simple.pde:2:31: warning: DallasTemperature.h: No such file or directory
Simple:11: error: 'DallasTemperature' does not name a type
Simple.pde: In function 'void setup()':
Simple:20: error: 'sensors' was not declared in this scope
Simple.pde: In function 'void loop()':
Simple:28: error: 'sensors' was not declared in this scope

大虾求解?但用0022版本的软件加载0022版本的dallas-temperature-control库则没问题。
1.0.1版本的怎么不行呀?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-23 21:16:21 | 显示全部楼层
孤独舰 发表于 2013-9-23 15:51
我用1.0.1版本软件加载1.0.1版本的dallas-temperature-control库 ,出现

C:\arduino-1.0.1-windows\ardu ...

顶楼最底部。。。有分0022和1.0.1的库。。你1.0以后用1.0.1的库就可以
回复 支持 反对

使用道具 举报

发表于 2013-9-24 17:14:01 | 显示全部楼层
哦,谢谢了,我搞定了,原来是函数文件夹名字中不能有'—'符合,改为temperaturecontrol,就OK了,但是今天接上18B20后发现,发现读取速度较慢,不知从哪里库函数参数,将速度调快点?
回复 支持 反对

使用道具 举报

发表于 2013-9-24 18:20:47 | 显示全部楼层
我修改了.cpp文件中的delay函数参数但出现一下问题:
C:\arduino-1.0.1-windows\arduino-1.0.1\libraries\temperaturecontrol\DallasTemperature.cpp:1: error: stray '\357' in program
C:\arduino-1.0.1-windows\arduino-1.0.1\libraries\temperaturecontrol\DallasTemperature.cpp:1: error: stray '\273' in program
C:\arduino-1.0.1-windows\arduino-1.0.1\libraries\temperaturecontrol\DallasTemperature.cpp:1: error: stray '\277' in program
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-24 21:50:40 | 显示全部楼层
孤独舰 发表于 2013-9-24 18:20
我修改了.cpp文件中的delay函数参数但出现一下问题:
C:\arduino-1.0.1-windows\arduino-1.0.1\libraries\ ...

这个。。。。。系统函数还要不去修改的好,牵扯太广了
回复 支持 反对

使用道具 举报

发表于 2013-9-25 08:19:58 | 显示全部楼层
恩,是的,就改个参数,编译就不能通过,晕死了,我后来用onewrite就好了。
回复 支持 反对

使用道具 举报

发表于 2013-11-6 16:06:16 | 显示全部楼层
楼主好,我是单用ds18b20做的,但编译程序的时候一直出来下面这个错误,求解释
not matching functionfor call to"Dallas Temperature::begin(int)"
回复 支持 反对

使用道具 举报

发表于 2013-11-6 16:15:18 | 显示全部楼层
一地土豆 发表于 2012-8-6 10:31
终于解决了,只用ds18b20测温可以参考下这个链接http://bbs.iqrobot.com/forum.php?mod=viewthread&tid=45

层主能否把链接再发一下,我最近做这个遇到点问题,求参考
回复 支持 反对

使用道具 举报

发表于 2013-11-6 19:02:05 | 显示全部楼层
用DallasTemperature自带的那个例程为什么没有信号?测出来的都是0度。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-23 20:15:14 | 显示全部楼层
Dmonke 发表于 2013-11-6 19:02
用DallasTemperature自带的那个例程为什么没有信号?测出来的都是0度。。。

这个。。好多库自带的例子代码不能用。。这个代码还没测过,不知道是不是和IDE版本有关系
回复 支持 反对

使用道具 举报

发表于 2013-12-30 10:18:02 | 显示全部楼层
弘毅 发表于 2013-11-23 20:15
这个。。好多库自带的例子代码不能用。。这个代码还没测过,不知道是不是和IDE版本有关系

请教为啥时间不能设置成2013年及以后呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-30 10:26:21 | 显示全部楼层
whuwolf 发表于 2013-12-30 10:18
请教为啥时间不能设置成2013年及以后呢?

没遇到过这个问题ing
回复 支持 反对

使用道具 举报

发表于 2013-12-30 16:08:04 | 显示全部楼层
弘毅 发表于 2013-12-30 10:26
没遇到过这个问题ing

下面我们试用一下DS1307时钟芯片功能。
先把下面库自带测试代码下载进入arduino控制板

第21行,我改成RTC.set(DS1307_YR,13)就不行了。

然后看那个DS1307的CPP文件,年份那段和月份是一样的,这段话是啥意思求教

  case DS1307_YR:
    if(v<13 && v>-1)
    {
        rtc_bcd[DS1307_YR]=((v / 10)<<4) + (v % 10);
    }
    break;
回复 支持 反对

使用道具 举报

发表于 2013-12-30 16:24:57 | 显示全部楼层
弘毅 发表于 2013-12-30 10:26
没遇到过这个问题ing

弘毅老师,方便的时候帮我看看这段代码,谢谢

http://www.geek-workshop.com/thread-8296-1-1.html
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 23:09 , Processed in 0.046106 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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