Array zusammenfügen

Hallo,

wie kann ich auserhalb von SETUP oder LOOP arry's zusammen fügen:

const byte  REEDER_MASTER[] = {3, 4};
const byte  REEDER_IN[] = {5, 6, 7};
const byte  REEDER_OUT[] = {8, 9, 10};

diese sollen alle zusammen in REEDER[] gesetzt werden.
Wie stellt man das am besten an?

Gruß

So gar nicht.

REEDER_MASTER hat 2 Zellen, die anderen 3 Zellen.

Was hast Du vor?

// Forensketch
// https://forum.arduino.cc/

const byte  REEDER_MASTER[] = {3, 4};
const byte  REEDER_IN[] = {5, 6, 7};
const byte  REEDER_OUT[] = {8, 9, 10};

const byte reeder[] {REEDER_MASTER[0], REEDER_MASTER[1], REEDER_IN[0], REEDER_IN[1], REEDER_IN[2], REEDER_OUT[0], REEDER_OUT[0], REEDER_OUT[1], REEDER_OUT[2]};

void setup()
{
  Serial.begin(115200);
  Serial.println(F("\r\nStart...\r\n"));
  for (byte b = 0; b < sizeof(reeder) / sizeof(reeder[0]); b++)
  {
    Serial.print(reeder[b]);
    Serial.print(' ');
  }
}

void  loop()

{}

Hallo s0pply

Ich habe auch noch ein Beispiel, das die "range based for loop" verwendet.

const byte REEDER_MASTER[] = {3, 4};
const byte REEDER_IN[] = {5, 6, 7};
const byte REEDER_OUT[] = {8, 9, 10, 11, 12};
uint8_t    REEDER[sizeof(REEDER_MASTER) + sizeof(REEDER_IN) + sizeof(REEDER_OUT)];

void setup()
{
  Serial.begin(115200);
  Serial.println(F("\r\nStart...\r\n"));

  uint8_t element = 0;
  for (auto a : REEDER_MASTER) REEDER[element++] = a;
  for (auto a : REEDER_IN) REEDER[element++] = a;
  for (auto a : REEDER_OUT) REEDER[element++] = a;
  for (auto a : REEDER) Serial.print(a), Serial.print(" ");
}

void  loop()
{}

Viel Spass beim Ausprobieren und Spielen.

1 Like

erzähl' mal etwas zum Kontext.
Wenn Pins sind ... warum braucht es dann 3 verschiedene Arrays? Was hast du damit vor?

... dann passt das nicht mehr:

:wink:
Und mit dem sizeof geht es schief, wenn der datentype vorher nicht 8bitig ist.

och menno
du mußt doch nich alles gleich alles verraten :slight_smile:

1 Like

Klasse, danke, genau das was ich gesucht habe :slight_smile:

Es sind 3 Blöcke von Reedkontakten, alle zusammen laufen in einer schleife wo jedes seinen eigenen Counter hat und Einzeln hat jeder wieder seine eigene Funktion...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.