Arduino массив не называет тип - PullRequest
0 голосов
/ 07 июня 2018

Проблема с массивом.Строка, которая объявляет массив, не имеет проблем, это те, которые следуют за ним.Кажется, я не могу кодировать как в C. Как я могу исправить это, как мне нужно в этом формате для ясности.Я не хочу писать длинную строку, поскольку в этом массиве 15 переменных.

Вот код

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

#define SERVOMIN  150 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX  600 // this is the 'maximum' pulse length count (out of 4096)

///// void setup /////
void setup() {
  Serial.begin(9600);
  pwm.begin();
  pwm.setPWMFreq(60);  // Analog servos run at ~60 Hz updates
  delay(10);
}



///// Coordonnees /////
int angles[5][3];    //angles de chaque moteur pour chaque cube
angles[0][0]=60;
angles[0][1]=120;
angles[0][2]=100;

В основном это angles[0][0]=; и строки, похожие на негокоторые вызывают проблему.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Как я могу исправить это, поскольку мне нужно в этом формате для ясности.

Ответ SergeyA обостряет проблему - вы пытаетесь выполнить операторы вне какой-либо функции.Если вы не хотите использовать синтаксис инициализации массива в своем ответе, переместите операторы присваивания внутри функции.Это как раз то, для чего предназначена функция setup(), поэтому, вероятно, правильное размещение ваших назначений в setup().

0 голосов
/ 07 июня 2018

В глобальной области видимости допускается лишь несколько вещей, и присвоение не является одним из них.

Вам разрешается объявлять или определять переменные (и инициализировать их), поэтому вы можете определитьмассив.Одним из способов достижения вашей цели будет инициализация массива вместо присвоения ему значений:

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