ich musste den Code jetzt testweise für den ESP8266 "downsizen", offenbar hat der bei weitem zu wenig RAM für heap.
In meiner union-Def. war offenbar auch ein Fehler, ich habe deinen Code mal für mich angepasst:
Code:
#define LINE 20
#define ROW 10
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.println("Serial() started");
float arraystat[LINE][ROW ];
union {
float *mem;
float arraydyn[LINE][ROW ]; // 10*20*4=800 bytes
} a;
a.mem = (float*) malloc(LINE * ROW * sizeof(float));
for (int i = 0; i < LINE; i++) {
for (int j = 0; j < ROW ; j++) {
arraystat[i][j]=i*(j*1000);
}
}
for (int i = 0; i < LINE; i++) {
for (int j = 0; j < ROW ; j++) {
a.arraydyn[i][j] = arraystat[i][j] * 0.01;
}
}
for (int i = 0; i < LINE; i++) {
yield();
for (int j = 0; j < ROW ; j++) {
Serial.println (a.arraydyn[i][j]);
}
}
}
void loop() {
}
- - - Aktualisiert - - -
Sieht gut aus! (edit: zumindest auf den 1. Blick laut Serial.print)
Jetzt wäre nur noch die Frage, ob's auch 2-dim ohne unions geht...
Lesezeichen