风暴若干个 发表于 2015-6-2 22:24:19

为什么DS18b20总是显示不了温度???

下面是程序哦!!
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 9   //使用Digital 12端口,其它端口也可以
OneWireoneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup(void)
{
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");
sensors.begin();
}
void loop(void)
{
//Serial.requestTemper atures(); // 发送命令获取温度
Serial.print("Requesting temperatures..."); //读取温度值并上传显示
sensors.requestTemperatures();
Serial.println("DONE");
Serial.print("Temperature for the device 1 (index 0) is: ");
Serial.println(sensors.getTempCByIndex(0));
delay(1500);//延时很有必要,时间可以自己选择
}



同学说可能是不兼容,但是用的是老师给的东西,不应该有问题的,求大神帮忙!!!




原则上应该可以显示的,但是串口显示的却是






!

帕米 发表于 2015-6-2 23:33:10

4.7K 上拉.    ONE_WIRE_BUS 9你这是9脚,不是 12脚

darkorigin 发表于 2015-6-3 08:29:14

单片机调试除了看代码还要看硬件连接以及硬件完好

最简单的就是 程序用例程,并按照注释连接硬件 测试通过后才用自己的代码

另外,可以采用替换法 把自己的原件放别人调通的单片机上调试 就知道是否硬件损坏 以及连线错误

风暴若干个 发表于 2015-6-3 08:57:49

帕米 发表于 2015-6-2 23:33 static/image/common/back.gif
4.7K 上拉.    ONE_WIRE_BUS 9你这是9脚,不是 12脚

4.7K是接在2脚吗?BUS 9 后面的是备注应该没有影响吧

风暴若干个 发表于 2015-6-3 09:01:04

darkorigin 发表于 2015-6-3 08:29 static/image/common/back.gif
单片机调试除了看代码还要看硬件连接以及硬件完好

最简单的就是 程序用例程,并按照注释连接硬件 测试通 ...

是Arduino开发板,不是单片机做,本来一条程序可以解决的事,但是就是没有反应

liuxue4503 发表于 2015-6-3 10:17:29

看了下,程序比较简单,没什么问题,一般这种情况,你需要把硬件连接图也发了份上来。我觉得最有可能的就是DS18B20那边连接的问题,电阻什么的接错了

风暴若干个 发表于 2015-6-3 18:44:16

liuxue4503 发表于 2015-6-3 10:17 static/image/common/back.gif
看了下,程序比较简单,没什么问题,一般这种情况,你需要把硬件连接图也发了份上来。我觉得最有可能的就是 ...

我用的是单总线,要接电阻吗?1,3脚都要接GND吗?

liuxue4503 发表于 2015-6-3 21:04:53

风暴若干个 发表于 2015-6-3 18:44 static/image/common/back.gif
我用的是单总线,要接电阻吗?1,3脚都要接GND吗?

3个脚都要接的,1脚地,2脚I/O口,3脚接个5V,2脚和3脚之间接电阻

darkorigin 发表于 2015-6-3 21:24:47

风暴若干个 发表于 2015-6-3 09:01 static/image/common/back.gif
是Arduino开发板,不是单片机做,本来一条程序可以解决的事,但是就是没有反应

是Arduino开发板 本质就是一AVR单片机

单片机或者开发板 不能只看代码的 连线以及硬件的好坏都要测试
不同于PC高级语言编程不用考虑硬件 单片机是基于硬件的 哪里出问题都不行
18b20的测试代码可以看精华区 确认下连线以及代码都无误之后运行下看看 这样就知道硬件是否有故障
如果硬件没故障则是你后来的代码有问题 。
排除故障一般都是从最简单和最容易出错的方面进行排查

风暴若干个 发表于 2015-6-3 21:29:23

darkorigin 发表于 2015-6-3 21:24 static/image/common/back.gif
是Arduino开发板 本质就是一AVR单片机

单片机或者开发板 不能只看代码的 连线以及硬件的好坏都要测试...

哦哦,知道了:)

风暴若干个 发表于 2015-6-3 21:30:06

已经解决了,谢谢

Briancui 发表于 2015-6-16 14:41:33

用你的程序,那是什么问题
页: [1]
查看完整版本: 为什么DS18b20总是显示不了温度???