如何使用不断变化的 int 值来调用 Arduino 上的不同函数?
How can I use a changing int value to call different functions on an Arduino?
我正在我的 Arduino Uno 上编程(有点)带有开始按钮和 4 位七段 LED 显示屏的秒表。
有了这样的功能,我可以毫无问题地将数字放在 SevSeg 上:
void Zahl_1()
{
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}
通过单击按钮 a 可以启动时钟(数字存储在 int sekunden
中)并且 Serialprint 确实会给我正确的数字。
我的问题介于两者之间;我不能 link 例如 (sekunden == 1)
到 Zahl_1()
.
我这样试过,没有成功:
void Sek()
{
if (sekunden == 0)
{
Zahl_0; //
}
if (sekunden == 1)
{
Zahl_1;
}
if (sekunden == 2)
{
Zahl_2;
}
if (sekunden == 3)
{
Zahl_3;
}
if (sekunden == 4)
{
Zahl_4;
}
if (sekunden == 5)
{
Zahl_5;
}
if (sekunden == 6)
{
Zahl_6;
}
if (sekunden == 7)
{
Zahl_7;
}
if (sekunden == 8)
{
Zahl_8;
}
if (sekunden == 9)
{
Zahl_9;
}
}
关于如何在不重写整个程序的情况下使它工作的任何想法?
提前致谢!
此致
砰
这里的问题是您没有调用任何函数。要调用函数,您可以:
function();
在您的示例中,您缺少括号。
我想指出的另一件事是您对 if 语句的使用。在根据变量的值执行操作时,使用 switch 语句更有效,也是更好的做法。
示例:
switch (sekunden) {
case 0:
Zahl_0();
break;
case 1:
Zahl_1();
break;
case 2:
Zahl_2();
break;
default:
println("Nothing matches");
break;
}
更多信息在这里:Switch case structure
我正在我的 Arduino Uno 上编程(有点)带有开始按钮和 4 位七段 LED 显示屏的秒表。
有了这样的功能,我可以毫无问题地将数字放在 SevSeg 上:
void Zahl_1()
{
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}
通过单击按钮 a 可以启动时钟(数字存储在 int sekunden
中)并且 Serialprint 确实会给我正确的数字。
我的问题介于两者之间;我不能 link 例如 (sekunden == 1)
到 Zahl_1()
.
我这样试过,没有成功:
void Sek()
{
if (sekunden == 0)
{
Zahl_0; //
}
if (sekunden == 1)
{
Zahl_1;
}
if (sekunden == 2)
{
Zahl_2;
}
if (sekunden == 3)
{
Zahl_3;
}
if (sekunden == 4)
{
Zahl_4;
}
if (sekunden == 5)
{
Zahl_5;
}
if (sekunden == 6)
{
Zahl_6;
}
if (sekunden == 7)
{
Zahl_7;
}
if (sekunden == 8)
{
Zahl_8;
}
if (sekunden == 9)
{
Zahl_9;
}
}
关于如何在不重写整个程序的情况下使它工作的任何想法?
提前致谢!
此致
砰
这里的问题是您没有调用任何函数。要调用函数,您可以:
function();
在您的示例中,您缺少括号。
我想指出的另一件事是您对 if 语句的使用。在根据变量的值执行操作时,使用 switch 语句更有效,也是更好的做法。
示例:
switch (sekunden) {
case 0:
Zahl_0();
break;
case 1:
Zahl_1();
break;
case 2:
Zahl_2();
break;
default:
println("Nothing matches");
break;
}
更多信息在这里:Switch case structure