Variable aus dem Unterprogramm ins Hauptprogramm übernehmen

Hallo Forumsgemeinde,

wie ist es möglich aus einen Unterprogramm eine Variable ins Hauptprogramm zu übernehmen, damit ich im Hauptprogramm mit einen Switch Case diese Varible nutzen kann?

Mir geht es um die Variablen "beat1" und "beat2"

Vielen Dank und Gruß

Du musst deine Beat-Variablen als globale Variablen anlegen, erst dann sind sie in der loop() verfügbar.

int func()
{
     return table[index_off(counter_off++)];
}

void loop()
{
     int value = func();
     
     switch(value)
     {
     }
}

Oder so:

int func()
{
     int value = table[index_off(counter_off)];
     counter_off++;
     return value;
}

Den von Serenifly beschriebenen Weg wollte der Threadstarter wohl eingehen. Natürlich nutzt man in solchen Fällen den Rückgabewert mittels return().

Danke, das funktioniert zu 50%. Was nicht mehr geht ist das der counter nur alle 4 Sekunden hoch zählt.

Muß ich den Code

if(now - last_on >= interval_on)
  {
    interval_on = 4000;
    counter_on(); 
    last_on = now;   
  }

auch mit in die Funktion reinbauen?

Oder gibt es eine andere Möglichkeit aus einem Array in einen bestimmten Intervall ohne delay auszulesen?