【问题标题】:loop in C/Arduino在 C/Arduino 中循环
【发布时间】:2022-01-10 10:57:19
【问题描述】:

我需要遍历一些引脚,从 2 到 7,然后从 7 到 2,再从 2 到 7,依此类推。 我编写了代码并且它可以工作,但我认为它需要一些编辑,我不知道如何再次从 2 转到 7。

这是我的代码:

int pins[6] = {2, 3, 4, 5, 6, 7};
void setup() {
}
void loop() {
  int x = 1;
  for (int i = 0; i < 6; i += x) {
    pinMode(pins[i], OUTPUT);
    digitalWrite(pins[i], HIGH);
    delay(500);
    digitalWrite(pins[i], LOW);
    delay(500);
    if (pins[i] == 7) {x = -1;}
    if (pins[i] == 2) {x = 1;}
  }
}

【问题讨论】:

    标签: loops arduino


    【解决方案1】:

    循环函数被无限期地调用,所以你可以使用它,并简单地使它成为一个永久循环。不需要i &lt; 6 条件,因为您希望循环永远不会结束。

    #define NUM_PINS 6
    int pins[NUM_PINS] = {2, 3, 4, 5, 6, 7};
    void setup()
    {
      for (int i = 0; i < NUM_PINS; i++) {
        pinMode(pins[i], OUTPUT);
      }
    }
    
    int x = 1;
    int p = 0;
    void loop()
    {
        digitalWrite(pins[p], HIGH);
        delay(500);
        digitalWrite(pins[p], LOW);
        delay(500);
        if (p == NUM_PINS-1) {x = -1;}
        if (p == 0) {x = 1;}
        p += x;
    }
    

    【讨论】:

    • 这很有用,我真的很感激^_^
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多