Arduino中的函数和打印函数值的问题
Problem With Functions And Printing Function Values in arduino
首先,我要对帮助我的人说声谢谢所以最近我正在做一个项目,叫做Arduino的温室。然后我正要编写一个读取传感器的函数,以及一个在函数 1 中打印该值的函数,我只是想出了一些问题,这是我的代码首先,我只是定义了每个引脚,然后书面函数这是有问题的函数和主代码
void GetState();
void loop() {
// put your main code here, to run repeatedly:
GetState();
PrintState();
delay(2000);
}
void PrintState()
{
Serial.println("TEMP ");
Serial.println(temp);
Serial.println("Rotobate Khak");
Serial.println(soilstate);
Serial.println("Humidity");
Serial.println(hum);
Serial.println("LDR === ");
Serial.println(LDRSTATE);
Serial.print("n");
}
void GetState()
{
DHT.read11(Sensor);
int LDRSTATE=analogRead(LDR);
return LDRSTATE;
int soilstate=analogRead(soil);
soilstate= map(soilstate,0,1023,100.00,0);
return soilstate;
int temp=DHT.temperature;
return temp;
int hum=DHT.humidity;
return hum;
}
and I get 'temp' was not declared in this scope error
在顶部声明"int temp;"。所有其他变量也是如此。不要在 GetState 中声明变量,只需使用它们即可。从 Getstate() 中删除所有"返回"行。只需设置"temp=DHT.temperature;"即可设置变量就足够了。
将 GetState()
函数放在 loop()
之前(调用它的位置)。 或者,如果您愿意,可以在loop()
之前添加原型:
void GetState();
void loop() {
...
认为你对编程很陌生。请尝试提供高于其定义的GetState()
和PrintState()
函数的原型。这是因为 C/C++ 编译器假定如果没有任何原型,则默认返回int
。
否则,您可以创建一个头文件,然后将该头文件包含在此程序中。
相关文章:
- 类C++中的函数问题(LNK2019和LNK1120错误)
- 返回不停止函数,递归函数问题?(编程练习,动态规划,Levenshtein 回溯)
- 变分模板递归构造函数问题
- C++函数问题中的数组分配
- C++中嵌套在另一个 LinkedList 中的 LinkedList 整数上的回调函数问题
- C++重载构造函数问题
- 二叉搜索树析构函数问题
- C++ vector<pair<int,int>> std::all_of() 函数问题(重定向到头文件)
- 迷宫构造函数问题 [线程 1:EXC_BAD_ACCESS(代码 = 1,地址 = 0x8)]
- C++函数问题中的 IF 语句
- 函数问题,未定义的引用错误
- C++ 指针无效函数问题
- C++函数问题 = 帮助我理解基本概念
- 由于基于接口的编程,遇到 C++ 虚拟模板函数问题
- C++二进制树递归析构函数问题
- 构造函数问题<无法读取内存>
- 构造函数问题
- C 时间函数问题
- 另一个类中的类的构造函数问题
- C与C++函数问题