Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 自定义Arduino库未实例化_C++_Arduino - Fatal编程技术网

C++ 自定义Arduino库未实例化

C++ 自定义Arduino库未实例化,c++,arduino,C++,Arduino,我的主arduino文件中有以下代码: #include <HIH4030.h> HIH4030 humiditySensor(0); float humidity; void setup() { Serial.begin(9600); } void loop() { delay(1000); humidity = humiditySensor.sensorRH(); } 这是我的HIH4030.cpp文件内容: #ifndef HIH4030_h #defi

我的主arduino文件中有以下代码:

#include <HIH4030.h>

HIH4030 humiditySensor(0);

float humidity;

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

void loop() {

  delay(1000);

  humidity = humiditySensor.sensorRH();

}
这是我的HIH4030.cpp文件内容:

#ifndef HIH4030_h
#define HIH4030_h

#include "Arduino.h"

class HIH4030{

public:
  HIH4030(int pin);
  float ratioHumidity();
  float sensorRH();
  float trueSensorRH(float temperature);

private:
  int _pin;
  float sample;
  float temperature;
};
#endif

//data sheet https://www.sparkfun.com/datasheets/Sensors/Weather/SEN-09569-HIH-4030-datasheet.pdf
#include <HIH4030.h>

HIH4030::HIH4030(int pin)
{
  _pin = pin;
}

/*
    gives humidity as a ratio of VDD
*/
float HIH4030::ratioHumidity(){
  //poll analogue in
  return analogRead(_pin); 
}

/*
    gives humidity as a percentage - numbers taken from datasheet
*/

float HIH4030::sensorRH(){
  //poll analogue in
  sample = analogRead(_pin)*5; //multiply by 5 as sample is a decimal of Vdd
  return (sample-0.958)/0.0307;
}

/*
    gives humidity adjusted for temperature (in degrees C) - numbers taken from datasheet
*/

float HIH4030::trueSensorRH(float temperature){
  float rh = sensorRH();
  temperature = temperature*0.00216;
  return rh/(1.0546 - temperature);
}
我是arduino的新手,我正在使用Stino Sublime Text 2插件。我已经将我在年为不同平台编写的更复杂的温度传感器库转换为Arduino,它工作得非常完美——我看不出这个库和那个库有什么区别,但我肯定遗漏了什么


据我所知,我遵循了“如何制作自定义类Arduino”教程,结果发现是某种缓存错误-删除Arduino构建文件夹将其排序

结果是某种缓存错误-删除Arduino构建文件夹将其排序

您可能还需要关闭并重新启动石斑鱼类。这实际上可能会清除它的缓存。我在使用Sublime Text Arduino插件(Stino)时也遇到了同样的问题。事实证明,在Stino首选项中有一个“完整编译”选项,如果您保持选中状态,它将始终编译所有内容(因此不会受到这个过时缓存问题的影响)。最后,我不确定是否通过检查完整编译或重新启动Sublime文本解决了问题,但您的答案似乎正确地指出了问题的根本原因。谢谢。您可能还需要关闭并重新启动IDE。这实际上可能会清除它的缓存。我在使用Sublime Text Arduino插件(Stino)时也遇到了同样的问题。事实证明,在Stino首选项中有一个“完整编译”选项,如果您保持选中状态,它将始终编译所有内容(因此不会受到这个过时缓存问题的影响)。最后,我不确定是否通过检查完整编译或重新启动Sublime文本解决了问题,但您的答案似乎正确地指出了问题的根本原因。谢谢
Gathering compilation infomation...
Compiling sketch...
Cleaning...
Creating /Users/user/Documents/Arduino_Build/QuantifiedGarden/QuantifiedGarden.cpp.o...
Creating /Users/user/Documents/Arduino_Build/QuantifiedGarden/QuantifiedGarden.elf...
/Users/user/Documents/Arduino_Build/QuantifiedGarden/QuantifiedGarden.cpp.o: In function `__static_initialization_and_destruction_0':
/Users/user/Documents/Arduino_Build/QuantifiedGarden/QuantifiedGarden.cpp:7: undefined reference to `HIH4030::HIH4030(int)'
/Users/user/Documents/Arduino_Build/QuantifiedGarden/QuantifiedGarden.cpp.o: In function `loop':
/Users/user/Documents/Arduino_Build/QuantifiedGarden/QuantifiedGarden.cpp:23: undefined reference to `HIH4030::sensorRH()'
[Stino - Error while compiling.]