Arduino如何使用命名空间?

时间:2013-11-23 16:42:15

标签: namespaces arduino using-directives arduino-ide

我正在使用Arduino IDE编写代码,并试图理解命名空间的东西。 我的想法是,有没有办法缩短我所拥有的许多地方(在我的代码中):

Serial.print("a="); Serial.print(a); Serial.print(" b="); Serial.println(b);

更短的东西,如:

S.print(...

sprint(...

可以吗?

我尝试使用字符串连接,但它非常有限且昂贵。那只是添加一个

String s;

到全局级别的代码将下载大小增加了1482个字节。你做不了类似的事情:

Serial.print("a=" + a); Serial.println(" b=" + b);

因为它无法处理用文字字符串开始连接。

欢迎任何想法。

2 个答案:

答案 0 :(得分:4)

Arduino使用C ++语言。 It is not considered good practice,但您可以使用预处理器宏:

#define sprint Serial.print

答案 1 :(得分:-1)

您可以使用指针和成员去引用运算符,如下所示:

HardwareSerial *my_device;

void setup()
{
  my_device->begin(9600);
  delay(100);
}

void loop()
{
  if (my_device->available())
  {
    int r = my_device->read();
    // etc.
  }
}