Проблема: "stray '#' in program"

Я достал скетч из интернета (http://www.instructables.com/id/How-to-build-an-8x8x8-LED-cube-and-control-it-with/) для управления дисплеем светодиодного куба 8x8x8. Программа не компилируется, и ошибка гласит: "stray '#' in program". Я поискал его в Google, но ничего не нашел подходящего. Вот часть кода. (Ошибка возникает в строке BaseColor = color(#222222);)

int rectX, rectY;      // Position of square button
int ROWX, ROWY;
int rectSizeX = 80;     // Width of rect
int rectSizeY = 20;     // Height of rect
int circleSize = 20;   // Diameter of circle
color rectColor, circleColorOff, circleColorOn, baseColor;
color rectHighlight, circleHighlight;
color circleCurrentColor;
color rectCurrentColor;
boolean rectOver = false;

// State of LEDs
boolean[][] circleOn;

// Position of LED buttons
int[][] circlePos;

// Mouse Over LED buttons?
boolean [][] circleOver;

int delayedby = 50;

void setup() {
 //number of rows and columns
 ROWX= 8;
 ROWY= 8;

 size((ROWX*40+10), (ROWY*44+30));
 noStroke();
 frameRate(10);
 smooth();
 rectX = ROWX*20-30;
 rectY = ROWY*44+5;
 
 // Colors
 rectColor = color(#FF0000);
 rectHighlight = color(#FFFF00);
 circleColorOff = color(#444444);
 circleColorOn = color(#ff0000);
 circleHighlight = color(#CCFF00);
 baseColor = color(#222222);
 circleCurrentColor = circleColorOff;
 rectCurrentColor = rectColor;

circleOn = new boolean[ROWX][ROWY];
for(int i=0; i<=(ROWY-1); i++) {
 for(int j=0; j<=(ROWX-1); j++) {
   circleOn[j][i] = false;
    }
}
circlePos = new int[2][(ROWX*ROWY+1)];

// X Posistions
for(int i=0; i<(ROWX*ROWY-(ROWX-1)); i=i+ROWX) {
int Xpos = 25;
  for(int ii=0; ii<ROWX; ii++) {
     circlePos[0][i+ii] = Xpos;
     Xpos += 40;
  }
}

// Y Positions
int Ypos = 40;
 for(int i=0; i<(ROWX*ROWY-(ROWX-1)); i+=ROWX) {
  for(int ii=0; ii<ROWX; ii++) {
     circlePos[1][i+ii] = Ypos;
  }
        Ypos += 40;
 }


circleOver = new boolean[ROWX][ROWY];
for(int i=0; i<=(ROWY-1); i++) {
 for(int j=0; j<=(ROWX-1); j++) {
   circleOver[j][i] = false;
 }
}
}

Оказывается, код был скомпилирован в более ранних бета-версиях Arduino IDE, и теперь я не знаю, что мне нужно сделать, чтобы он был скомпилирован моей версией 1.6.5.

, 👍-4

Обсуждение

Это не синтаксис C/C++. Замените # на 0x (для начала). Затем вам придется уменьшить размер структур данных. Проверьте sizeof(boolean)., @Mikael Patel

Я думаю, что этот код устарел. Я получаю новые ошибки, такие как несуществующие типы данных и другие синтаксические ошибки, @DorkOrc

Кое-что из этого больше похоже на java, чем на Си..., @Majenko

Код, который вы опубликовали, является файлом обработки, вы не опубликовали весь код и не заявили, что его обработка связана с этим, предоставив сообществу разобраться в этом. Это больше подходит для stackoverflow или **Processing IDE**, @RSM


1 ответ


3

Из инструктажа, который вы связали:

matrix8x8.pde-это программа обработки для создания собственных дисплеев.

Вы скачали код обработки, а не код Arduino. См. выше это:

cube8x8x8.pde-это код Arduino.

Таким образом, в основном вы компилируете неправильный код. Вернитесь назад и перечитайте эту страницу.

,