【发布时间】:2013-07-29 11:03:31
【问题描述】:
我想知道如何在 Arduino 中通过将字符串和 int 放在一起来寻址变量。 我正在使用许多相同类型且名称几乎相同的变量。我只是为每个变量附加一个数字。 变量的名称是例如int sensorValue_1; int sensorValue_2;等等。 我想少写一些,因为我的代码太长了。 在处理变量时,我想这样写:sensorValue_[+ intVariable];
这是我的意思的一个例子:
int sensorIndex_1 = 1;
int sensorIndex_2 = 2;
int sensorIndex_3 = 3;
int sensorValue_1;
int sensorValue_2;
int sensorValue_3;
void setup()
{
Serial.begin(9600);
}
void loop()
{
doSomething(sensorIndex_1);
//doSomething(sensorIndex_2);
//doSomething(sensorIndex_3);
}
void doSomething(int sensorIndex)
{
if(sensorIndex == 1)
{
Serial.print("Sensor 1: ");
sensorValue_1 = analogRead(A1);
Serial.println(sensorValue_1);
}
if(sensorIndex == 2)
{
Serial.print("Sensor 2: ");
sensorValue_2 = analogRead(A2);
Serial.println(sensorValue_2);
}
if(sensorIndex == 3)
{
Serial.print("Sensor 3: ");
sensorValue_3 = analogRead(A3);
Serial.println(sensorValue_3);
}
delay(1000);
}
我想缩短 doSomething() 方法中的代码。 我想要这样的东西: 注意“[+ sensorIndex]”
void doSomething(int sensorIndex)
{
Serial.print("Sensor [+ sensorIndex]: ");
sensorValue_[+ sensorIndex] = analogRead(A[+ sensorIndex]);
Serial.println(sensorValue_[+ sensorIndex]);
delay(1000);
}
顺便说一句:如果可能的话,我想避免使用 for 循环。
就我而言,代码会变得过于复杂。
我该如何管理?
【问题讨论】: