在这里编程相对较新,但了解基础知识。
我有一些在 Arduino IDE 中成功使用的代码。在 main 中开始,调用另一个名为 bakerRelay 的函数,传递变量 setTemperature、temperatureC、futureSwitch 和 relayPin。当我在 PlatformIO (VisualCode) 中重新键入它时,我得到“未在此范围内声明”错误。我认为这是一个格式化的东西(我忘记在某处打开或关闭 {},但似乎找不到它。
我已经声明了我的变量,并在 main.cpp 中声明了函数,
在 void 设置之前声明的函数:
void furnaceRelay(float setTemperature, float temperatureC, unsigned long furnaceSwitch, int relayPin);
在这里声明变量
float temperatureC;
float setTemperature = 19;
unsigned long furnaceSwitch;
int relayPin;
然后在这里调用函数:
furnaceRelay(setTemperature, temperatureC, furnaceSwitch, relayPin);
这是调用的函数:
void furnaceRelay(float setTemperature, float temperatureC, unsigned long furnaceSwitch, int relayPin)
{
if ((temperatureC + 1) > setTemperature)
{
//Serial.println("Furnace Off");
furnaceSwitch = millis();
digitalWrite(relayPin, LOW);
}
if ((temperatureC - 1) < setTemperature)
{
//Serial.println("Furnace On");
furnaceSwitch = millis();
digitalWrite(relayPin, HIGH);
}
return;
}
我得到的错误是:
标识符millis未定义millis未在此范围内声明标识符digitalWrite未定义LOW未在此范围内声明标识符LOW未定义digitalWrite未在此范围内声明标识符millis未定义millis未在此范围内声明标识符digitalWrite未定义HIGH是未在此范围内声明标识符 HIGH 未定义 digitalWrite 未在此范围内声明
我难住了。我很确定我的所有 {} 都在那里,我还缺少什么?