【问题标题】:Arduino: Strange values from a int two dimensional array?Arduino:来自 int 二维数组的奇怪值?
【发布时间】:2019-08-06 22:46:52
【问题描述】:

这应该很简单。我只是想在 Arduino C* 中调用二维数组。

我习惯于在 Python 中使用嵌套字典和数组。我得到它。但我在这里没有得到预期值。例如,当我调用索引时说数组 [0] [0],它设置为 2。我得到的值类似于 5!

#include "SoftPWM.h"

int pins[5][3] = {
  { 0, 1, 2 },
  { 3, 4, 5 },
  { 6, 7, 8 },
  { 9, 10, 11 },
  { 12, 13, 13 }
};

void setup()
{
  Serial.begin(9600);
  SoftPWMBegin();
  for (int l = 0; l < 5; l++) {
    for (int p = 0; p < 3; p++) {
      SoftPWMSet(pins[1][p], 255);
    }
  }
  SoftPWMSetFadeTime(ALL, 100, 100);
}

void loop()
{
  for (int l = 0; l < 5; l++) {
    Serial.print("l =");
    Serial.println(l);
    for (int p = 0; p < 3; p++) {
      Serial.print("p =");
      Serial.println(p);
      Serial.print("pin =");
      Serial.println(pins[1][p]);

      SoftPWMSetPercent(pins[1][p], 100);
      delay(500);
      SoftPWMSetPercent(pins[1][p], 0);
      delay(500);
    }
  }
}

输出:

l =0
p =0
pin =3 //<-- [0][0] should be 0
p =1
pin =4
p =2
pin =5   //<-- [0][2] should be 2
l =1
p =0
pin =3
p =1
pin =4
p =2
pin =5
l =2
p =0
pin =3   //<-- [2][0] should be 6
p =1
pin =4
p =2
pin =5

【问题讨论】:

    标签: arrays arduino key-value-store


    【解决方案1】:

    那是因为您正在打印pins[1][p]。不是pins[l][p]

    pins[1][0]3pins[1][2]5

    【讨论】:

    • 认真的吗?哈哈哈!我想这就是我使用“l”得到的。如果您看一下 Arduino IDE:i.imgur.com/TAUzDTj.png 这些字符几乎没有区别。非常感谢!
    • @datguy.dev,alot(当然是一种想象中的动物,因为它不是英文单词)说“不客气”(hyperboleandahalf.blogspot.com/2010/04/…):)。此外,感谢 Kentaro Okuda 的最佳方式是支持他的答案并将其标记为正确。谢谢。
    猜你喜欢
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多