Hi alle zusammen,
ich habe folgendes Problem da ich in meinem Programm Platz schaffen muss weil der RAM knapp wird versuche ich gerade etwas zu optimieren.
Ich habe ein Array mit 516 byte Inhalt das ich aus meinem Sensor auslese.
Davon sind 4 byte unnötig und ich versuche diese zu überspringen.
Die Position der bytes im Array die ich überspringen will sind wie folgt angeordnet: Vij[0],Vij[129],Vij[258],Vij[387].
Die Herausforderung ist das ich am Schluss dann aus meinem Vij[516] Array ein Vij[512] Array bekomme, sprich mein Ursprungsarray einfach überschreibe mit der neuen kürzeren Zahlenfolge.
Ich hoffe ihr konntet mir soweit folgen?
void Thermal_Offset_Vij_comp_calc() {
unsigned short Vij[516];
unsigned short *ptr0,*ptr1,*ptr2,*ptr3;
for (i=0; i < 516; i++){
Serial.println(Vij[i],HEX);
}
ptr0=&Vij[1];
ptr1=&Vij[129];
ptr2=&Vij[258];
ptr3=&Vij[385];
for (a = 0; a < 128; a++)
{
Vij[a]=*(ptr0+a);
Vij[a+130]=*(ptr1+a);
Vij[a+256]=*(ptr2+a);
Vij[a+384]=*(ptr3+a);
}
Serial.println("");
Serial.println("");
for (i=0; i < 512; i++)
{
Serial.println(Vij[i],HEX);
}
}
ich habe das ganze mit pointern versucht zu realisieren aber das ganze funktioniert leider nicht da es immer beim 129 Wert zu einem doppelten Wert kommt.
Hat jemand eine Idee wie ich das besser realisieren kann oder was ich falsch mache
Vielen dank schon mal für die Hilfe
Gruß beni