récupérer valeur d'une fonction

Bonjour, on souhaiterait récupérer la valeur pvO obtenue grace à notre fonction1() pour pouvoir l'utiliser dans notre fonction ascenseur. On a essayé de mettre en argument la fonction1() afin de récupérer la valeur, mais ca n'a pas fonctionné.
Il faudrait que la fonction1 fonctionne de manière continue dans la fonction ascenseur, c'est à dire qu'on ne peut pas mettre de return dans la fonction 1.
Pouvez vous nous aider ?

void setup() {
pinMode( 8 , OUTPUT);
pinMode( 11 , OUTPUT);
pinMode( 13 , OUTPUT);
pinMode ( 53 , INPUT_PULLUP);
pinMode ( 52 , OUTPUT);
}

void loop()
{ ascenseur( fonction1());
}

int fonction1()
{ int S = 0 ;
int pv0 = 0;
digitalWrite ( 52 , LOW );
if (( ( digitalRead(53) ) == ( LOW ) ))
{
S = 1 ;
}
while ( ( ( ( analogRead(8) ) > ( 200 ) ) && ( ( S ) == ( 1 ) ) ) )
{
digitalWrite( 52 , HIGH );
pv0 = 1;
printf(pv0);
}

digitalWrite ( 52 , LOW );
}

int ascenseur( int fonction1())
{ int pv0 = fonction1();
if ((pv0) == (1))
{
digitalWrite( 8 , LOW );
digitalWrite( 11 , HIGH );
digitalWrite( 13 , HIGH );
}
}

suffit de mettre un return…

exemple arduino

int checkSensor(){       
    if (analogRead(0) > 400) {
        return 1;
    else{
        return 0;
    }
}

un parametre permet a la fonction de faire un traitement de la variable
du style

int addition (int a, int b)
{
resutlat = a+b;
}

sans retour ça s’appel une procedure.
le return permet de retourner le resultat de l’addition.

int addition (int a, int b)
{
resutlat = a+b;

return resultat; 
}

return resultat te retourne le resutlat de a+b;

mais dans ton cas, il y a un soucis

int ascenseur( int fonction1()) <= c’est une fonction dans une fonction*…?

au lieu de ton printf(pv0);
fait return pv0;