Counter Code mehrfach verwenden

Guten Morgen an alle,
Ich habe jetzt nach meinem besten Wissen und Gewissen etwas geschaffen was nach meinen „Kennnissstand“ funktioniert.
Es war ein Langer Weg bis dahin und mein Gehirn muss jetzt abkühlen.
Die Nackenschläge, die ich gleich von euch ernten werde (durch das was ich hier Code-Mäßig ausgewürgt habe) , werde ich konstruktiv betrachten und wenn möglich, beachten.
Bis jetzt bin ich sehr dankbar für eure Hilfe und Anstöße, die ihr mir so gebt.
Lieben Gruß :slight_smile:

Wie sagt man so schön "quick and dirty" :sweat_smile: :innocent:

Tab = uartCom();

void uartCom()
{
 if (Serial.available() > 0)
  {
    readSerialData = Serial.read();
  }
  if (readSerialData == 'a')
  {
    uartComVal=1;
  }
    else
  {
    uartComVal=0;

  }
    if (readSerialData == 'b')
  {
    uartComVal_1=1;
  }
  else
  {
    uartComVal_1=0;
  }
// Serial.println(uartComVal);
}

Main

byte uartComVal=0;
byte uartComVal_1=0;
char readSerialData=0;


void setup() {
Serial.begin(9600);
}


void loop()
{
 uartCom(); // Siehe Code-Schnipsel oben :-)
 
 byte data_2[1];
 byte data_3=uartComVal;

 byte data_4[1];
 byte data_5=uartComVal_1;
 
 getdat(data_2,data_3);
 getdat(data_4,data_5);

Serial.print("a=");
Serial.println(data_2[1]);
Serial.print("b=");
Serial.println(data_4[1]);

delay(500); // nur zum Testen ;-)
}

void getdat(byte rdata[],byte ddata)
{
 byte statusAlt;
 byte counter;
 byte data = ddata;
 
 
if(statusAlt !=data)
{
  if(data==1)
{
  counter++;
}
  }
statusAlt =data;
counter = counter % 2;

rdata[1]= counter;
//Serial.println(counter);
}