Funktion mehrere Werte zurück geben

Und jetzt die billige:

#include <Streaming.h> // die Lib findest du selber ;-)
Stream &cout = Serial; // cout Emulation für "Arme"

struct Datensatz
{
  uint8_t rainPixel[12];
  int8_t changer[4];

};

Datensatz &readRainPixel(Datensatz &d)
{
  for(uint8_t i = 0; i < 4; i++)
  {
    for(uint8_t j = 0; j < 3; j++)
    {
      d.rainPixel[i * j] = 1 + i + j;
    }
    uint8_t upsite = 1;
    d.changer[i] = upsite + i;
  }
  return d;
}

template<typename T>void zeigsMir(T &array)
{
  for(auto data : array)cout << data << endl;
}

void rain()
{
  Datensatz d;
  readRainPixel(d);
  
  cout << F("rainPixel: ") << endl;
  zeigsMir(d.rainPixel);
  cout <<  endl;
  
  cout << F("changer: ") << endl;
  zeigsMir(d.changer);
  cout <<  endl;
}

void setup()
{
  Serial.begin(9600);
  cout << F("Start: ") << F(__FILE__) << endl;
  rain();
}

void loop()
{
}

1 Like