为什么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);//延时很有必要,时间可以自己选择
}
同学说可能是不兼容,但是用的是老师给的东西,不应该有问题的,求大神帮忙!!!
原则上应该可以显示的,但是串口显示的却是
! 4.7K 上拉. ONE_WIRE_BUS 9你这是9脚,不是 12脚 单片机调试除了看代码还要看硬件连接以及硬件完好
最简单的就是 程序用例程,并按照注释连接硬件 测试通过后才用自己的代码
另外,可以采用替换法 把自己的原件放别人调通的单片机上调试 就知道是否硬件损坏 以及连线错误 帕米 发表于 2015-6-2 23:33 static/image/common/back.gif
4.7K 上拉. ONE_WIRE_BUS 9你这是9脚,不是 12脚
4.7K是接在2脚吗?BUS 9 后面的是备注应该没有影响吧 darkorigin 发表于 2015-6-3 08:29 static/image/common/back.gif
单片机调试除了看代码还要看硬件连接以及硬件完好
最简单的就是 程序用例程,并按照注释连接硬件 测试通 ...
是Arduino开发板,不是单片机做,本来一条程序可以解决的事,但是就是没有反应 看了下,程序比较简单,没什么问题,一般这种情况,你需要把硬件连接图也发了份上来。我觉得最有可能的就是DS18B20那边连接的问题,电阻什么的接错了 liuxue4503 发表于 2015-6-3 10:17 static/image/common/back.gif
看了下,程序比较简单,没什么问题,一般这种情况,你需要把硬件连接图也发了份上来。我觉得最有可能的就是 ...
我用的是单总线,要接电阻吗?1,3脚都要接GND吗? 风暴若干个 发表于 2015-6-3 18:44 static/image/common/back.gif
我用的是单总线,要接电阻吗?1,3脚都要接GND吗?
3个脚都要接的,1脚地,2脚I/O口,3脚接个5V,2脚和3脚之间接电阻 风暴若干个 发表于 2015-6-3 09:01 static/image/common/back.gif
是Arduino开发板,不是单片机做,本来一条程序可以解决的事,但是就是没有反应
是Arduino开发板 本质就是一AVR单片机
单片机或者开发板 不能只看代码的 连线以及硬件的好坏都要测试
不同于PC高级语言编程不用考虑硬件 单片机是基于硬件的 哪里出问题都不行
18b20的测试代码可以看精华区 确认下连线以及代码都无误之后运行下看看 这样就知道硬件是否有故障
如果硬件没故障则是你后来的代码有问题 。
排除故障一般都是从最简单和最容易出错的方面进行排查 darkorigin 发表于 2015-6-3 21:24 static/image/common/back.gif
是Arduino开发板 本质就是一AVR单片机
单片机或者开发板 不能只看代码的 连线以及硬件的好坏都要测试...
哦哦,知道了:) 已经解决了,谢谢 用你的程序,那是什么问题
页:
[1]