Hallo ,
mit Bezug auf Deinen Eingangspost . ich habe jetzt nicht alles komplett gelesen.
Aber Du definierst eine Function mit
void counter_area(byte dataStatusAlt, byte counter, byte data)
auf der anderen Seite möchtest Du einen Rückgabewert nutzen.
return counter;
schau Dir nochmal das Thema
https://de.wikibooks.org/wiki/C%2B%2B-Programmierung/_Weitere_Grundelemente/_Prozeduren_und_Funktionen
mal an
Heinz