Folgedes Problem: Ich möchte einen code, der unter Processing tadellos
läuft auf einem Arduino laufen lassen. Komischer Weise kommt bei der
Class, die ich definiere Fehler, die ich nicht verstehe. Warum bei
Arduino Fehler und bei Processing nicht?
Hier der Code:
Cell[][] cell = new Cell[20][20];
//...
class Cell {
int x, y, v, h, farbe, sample;
Cell(int x, int y, int v, int h, int farbe, int sample){
this.x = x;
this.y = y;
this.v = v;
this.h = h;
this.farbe = 0;
this.sample = 0;
}
void setFarbe(int neueFarbe){
this.farbe = neueFarbe;
}
void setSample(int sample){
this.sample = sample;
}
void toggle_play(){
if(this.farbe != 1)
this.farbe = 1;
else
this.farbe = 0;
}
}
und hier einige der Fehlermeldungen:
error: expected constructor, destructor, or type conversion before
'cell'
error: 'cell' was not declared in this scope
error: expected type-specifier before 'Cell'
nein, Arduino wird mit einer sehr ähnlichen IDE geschrieben wie
Processing. Und auch in Java.
Die Unterschiede sind in der draw() repektive loop() Funktion und
natürlich diversen Funktionen, die sich nur auf die Fensterumgebung
beziehen, wie size() für die Fenstergrösse oder stroke() für die
Farbwahl. und es gibt den Dateityp color nicht...
Also ein paar Unterschiede bestehen schon, aber es ist sehr, sehr
ähnlich.
Nur class macht da wohl einen weiteren Unterschied. :(
Marwin schrieb:> Das ist kein reproduzierbares Beispiel. Wie soll man da den Fehler> finden?
Der folgende Code ist reproduzierbar. So in Arduino gepastet und es
sollte laufen. So kommen auch alle Fehler, die mir zu schaffen machen...
Cell[][] cell = new Cell[20][20];
void loop(){
cell[1][1].setFarbe(2);
}
class Cell {
int x, y, v, h, farbe, sample;
Cell(int x, int y, int v, int h, int farbe, int sample){
this.x = x;
this.y = y;
this.v = v;
this.h = h;
this.farbe = 0;
this.sample = 0;
}
void setFarbe(int neueFarbe){
this.farbe = neueFarbe;
}
void setSample(int sample){
this.sample = sample;
}
void toggle_play(){
if(this.farbe != 1)
this.farbe = 1;
else
this.farbe = 0;
}
}
habu schrieb:> nein, Arduino wird mit einer sehr ähnlichen IDE geschrieben wie> Processing. Und auch in Java.
Moment.
Vielleicht sollten wir erst mal klären, was du unter
'Arduino' bzw. 'Processing' verstehst.
Die meisten (die übrigens nicht Arduino programmieren), sehen das
wahrscheinlich so wie ich:
'Arduino' der Teil deines Gesamtsystems, welcher am µC läuft
'Processing' der Teil deines Gesamtsystems, welcher am PC läuft
Wenn das so stimmt ('Arduino' - µC; 'Processing' - PC), dann stimmt
deine Aussage definitv nicht. Es sei denn, es gibt seit neuestem eine
Java-Runtime für die Arduino Hardware. Aber meines Wissens wird der
µC-Teil beim Arduino System immer noch in C++ programmiert.
habu schrieb:> nein, Arduino wird mit einer sehr ähnlichen IDE geschrieben wie> Processing. Und auch in Java.
The Arduino language (based on Wiring) is implemented in C/C++, and
therefore has some differences from the Processing language, which is
based on Java.
http://arduino.cc/en/Reference/Comparison
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.