什么是常数ARDUINO?它过去是22但现在是100

Eug*_*ene 3 arduino arduino-ide arduino-uno

我正在使用热电偶并下载了MAX6675库.我想知道以下几行中ARDUINO常量的值是多少.

#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print("C ");
  lcd.print(thermocouple.readFahrenheit());
#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print('F');
Run Code Online (Sandbox Code Playgroud)

我已经搜索了答案,但却发现了很少的信息.我可以使用以下行打印出值,但我仍然无法找出它的含义.

Serial.println(ARDUINO);

mtt*_*trb 6

ARDUINO不断给正在使用的Arduino的环境的版本.

例如,22适用于旧的Arduino 22 IDE,100适用于Arduino环境的1.0版本.ARDUINO最新的Arduino版本(1.6.5)中的常量值似乎是10605.

旧版本(例如22)和1.0版本之间的Arduino API发生了一些重大变化.值ARDUINO可用于有条件地为不同版本的API编译不同的代码.

在您的示例中,您似乎需要使用版本1.0+环境,lcd.write()但必须使用旧环境lcd.print.测试值ARDUINO允许相同的代码在两种环境中都能工作.

  • 我有一段时间看了这个,所以不要引用我,但我似乎回想起Arduino IDE将`ARDUINO`值定义为编译器命令行调用的参数. (2认同)