我目前正在编写这个简单的代码来检查温度传感器。
#include <One Wire . h>
int DS18S20_Pin = 2; //DS18S20 Signal pin on digital 2
//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2
void setup(void) {
Serial.begin(9600);
}
void loop(void)
{
float temperature = getTemp();
Serial.println(temperature);
delay(100); //just here to slow down the output so it is easier to read
}我得到了"sketch_feb27a:14: error:'getTemp‘没有在这个范围内声明“
谁能告诉我原因吗?
发布于 2014-02-28 09:37:38
在这里,您尝试调用getTemp();。但是下面的函数不是在草图itself..if下定义的,您可以添加与getTemp()相关的活动;,它必须工作。
float temperature = getTemp();发布于 2014-02-28 07:14:25
或者您没有将OneWire库解压缩到正确的位置,或者在#include行中犯了错误。包括它没有空格
*include<OneWire.h>如果getTemp()不是库OneWire的一部分,那么显然您必须创建自己的getTemp()函数
发布于 2014-08-13 19:04:03
您可以使用DallasTemperature库。
像这样使用它:
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2
OneWire dsOneWire(DS_ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature dsSensorControler(&dsOneWire);
dsSensorControler.begin();
dsSensorControler.requestTemperatures();
float temp = dsSensorControler.getTempCByIndex(0);DallasTemperature库示例中的代码。
https://stackoverflow.com/questions/22076683
复制相似问题